使用 testng 侦听器的多个测试套件的综合测试结果
consolidated testresults for multiple testsuites using testng listeners
我有 Sanity 测试套件 testng xml,其中包含多个测试套件,我想获得 Sanity 测试套件的结果并显示在控制台上。
我尝试使用 IsuiteListener,我得到了各个测试套件的结果。
有人可以帮助我获得所有测试套件 运行 在 sanity 测试套件下的综合结果吗?
package utilities;
import java.util.Map;
import org.testng.ISuite;
import org.testng.ISuiteListener;
import org.testng.ISuiteResult;
import org.testng.Reporter;
public class Listener implements ISuiteListener
{
@Override
public void onStart(ISuite arg0) {
Reporter.log("About to begin executing Suite " + arg0.getName(), true);
}
@Override
public void onFinish(ISuite suite)
{
Map<String,ISuiteResult> results=suite.getResults();
for(String key: results.keySet())
{
ISuiteResult con = results.get(key);
int totaltestcases=con.getTestContext().getAllTestMethods().length;
int passtestcases= con.getTestContext().getPassedTests().size();
int failedtestcases=con.getTestContext().getFailedTests().size();
int skippedtestcases=con.getTestContext().getSkippedTests().size();
int percentage=(passtestcases*100)/totaltestcases;
System.out.println("PASS PERCENTAGE : "+percentage+"%");
}
}
}
下面是健全性测试套件xml
<suite name="Sanity Test Suite">
<listeners>
<listener class-name="utilities.Listener"></listener>
</listeners>
<suite-files>
<suite-file path="TestSuit_01.xml"/>
<suite-file path="TestSuit_02.xml"/>
</suite-files>
</suite>
您应该构建一个 TestNG 监听器 org.testng.IReporter
的实现,它会在所有套件 运行 完成后执行,然后在您的套件 xml 文件中通过<listeners>
标签。
我有 Sanity 测试套件 testng xml,其中包含多个测试套件,我想获得 Sanity 测试套件的结果并显示在控制台上。
我尝试使用 IsuiteListener,我得到了各个测试套件的结果。
有人可以帮助我获得所有测试套件 运行 在 sanity 测试套件下的综合结果吗?
package utilities;
import java.util.Map;
import org.testng.ISuite;
import org.testng.ISuiteListener;
import org.testng.ISuiteResult;
import org.testng.Reporter;
public class Listener implements ISuiteListener
{
@Override
public void onStart(ISuite arg0) {
Reporter.log("About to begin executing Suite " + arg0.getName(), true);
}
@Override
public void onFinish(ISuite suite)
{
Map<String,ISuiteResult> results=suite.getResults();
for(String key: results.keySet())
{
ISuiteResult con = results.get(key);
int totaltestcases=con.getTestContext().getAllTestMethods().length;
int passtestcases= con.getTestContext().getPassedTests().size();
int failedtestcases=con.getTestContext().getFailedTests().size();
int skippedtestcases=con.getTestContext().getSkippedTests().size();
int percentage=(passtestcases*100)/totaltestcases;
System.out.println("PASS PERCENTAGE : "+percentage+"%");
}
}
}
下面是健全性测试套件xml
<suite name="Sanity Test Suite">
<listeners>
<listener class-name="utilities.Listener"></listener>
</listeners>
<suite-files>
<suite-file path="TestSuit_01.xml"/>
<suite-file path="TestSuit_02.xml"/>
</suite-files>
</suite>
您应该构建一个 TestNG 监听器 org.testng.IReporter
的实现,它会在所有套件 运行 完成后执行,然后在您的套件 xml 文件中通过<listeners>
标签。