TestNG自定义记录器测试报告

简介:
在本节中,我们将介绍一个例子,编写自定义记录器和 TestNG的方法。要编写一个定制的记录器类,我们的扩展类应实现IReporter接口。让我们继续前进,并创建一个示例使用自定义的记录器。
   创建测试案例类
  创建一个 Java类为 SampleTest.java 在 C:\ > TestNG_WORKSPACE
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
@Test
public void testMethodOne(){
Assert.assertTrue(true);
}
@Test
public void testMethodTwo(){
Assert.assertTrue(false);
}
@Test(dependsOnMethods={"testMethodTwo"})
public void testMethodThree(){
Assert.assertTrue(true);
}
}
  上述测试类的包含三个测试方法,其中testMethodOne 和 testMethodThree将通过在执行时,而testMethodTwo由通过一个falseBoolean的值Assert.assertTrue方法,它是用于在测试中的真值条件失败。
   创建自定义报告类
  创建另一个新的类名为 CustomReporter.java 在 C:\ > TestNG_WORKSPACE
import java.util.List;
import java.util.Map;
import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestContext;
import org.testng.xml.XmlSuite;
public class CustomReporter implements IReporter{
@Override
public void generateReport(List xmlSuites, List suites,
String outputDirectory) {
//Iterating over each suite included in the  test
for (ISuite suite : suites) {
//Following code gets the suite name
String suiteName = suite.getName();
//Getting the results for the said suite
Map<string, isuiteresult=""> suiteResults = suite.getResults();
for (ISuiteResult sr : suiteResults.values()) {
ITestContext tc = sr.getTestContext();
System.out.println("Passed tests for suite '" + suiteName +
"' is:" + tc.getPassedTests().getAllResults().size());
System.out.println("Failed tests for suite '" + suiteName +
"' is:" +
tc.getFailedTests().getAllResults().size());
System.out.println("Skipped tests for suite '" + suiteName +
"' is:" +
tc.getSkippedTests().getAllResults().size());
}
}
}
}
  前面的的类实现org.testng.IReporter 接口。它实现了IReporter接口定义的方法GenerateReport。这个方法有三个参数:
  第一个是xmlSuite,这是TestNG的测试XML正在执行中提到的列表套件
  第二个是套件,其中包含一套测试执行后信息,该对象包含了所有的信息包,类,测试方法和测试执行结果。
  第三的outputDirectory,报告将产生的输出文件夹路径,其中包含的信息。
创建 testng.xml
  创建一个文件testng.xml 在 C:\ > TestNG_WORKSPACE 来执行测试用例
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Simple Reporter Suite">
<listeners>
<listener class-name="CustomReporter" />
</listeners>
<test name="Simple Reporter test">
<classes>
<class name="SampleTest" />
</classes>
</test>
</suite>
  编译SampleTest,CustomReporter类使用javac
  C:\TestNG_WORKSPACE>javac CustomReporter.java SampleTest.java
  运行 testng.xml.
  C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
  验证输出
  ===============================================
  Simple Reporter Suite
  Total tests run: 3, Failures: 1, Skips: 1
  ===============================================
  Passed tests for suite 'Simple Reporter Suite' is:1
  Failed tests for suite 'Simple Reporter Suite' is:1
  Skipped tests for suite 'Simple Reporter Suite' is:1
  前面的例子显示了一个简单的自定义报告器,打印的数量在控制台上对每个套件包含在上述的测试执行失败,通过跳过测试。报告器主要是用于测试的执行,以生成最终的报告。扩展程序可以被用来生成XML,HTML,CHM,CSV或文本格式的文件,根据报告要求。

最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
1月前
|
XML Java 测试技术
TestNG 与 JUnit 测试框架:哪个更好?
【2月更文挑战第16天】
47 1
TestNG 与 JUnit 测试框架:哪个更好?
|
4月前
|
Java 数据库连接 Maven
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
33 1
|
5月前
|
测试技术
【测试平台系列】第一章手撸压力机(三)自定义http请求
今天继续深入往下讲,上一篇咱们对http的客户端设置进行了结构化统一,现在咱们开始对http请求进行结构化统一,首先咱们梳理http请求包含的结构。
|
5月前
|
测试技术 Go
【测试平台系列】第一章手撸压力机(二)自定义http客户端配置
上一节简单实现了http发送get请求的客户端,但是在实际工作中,我们会对客户端有各种的设置,也会有各种的请求。
【测试平台系列】第一章手撸压力机(二)自定义http客户端配置
|
7月前
|
测试技术
一个 ABAP Development Tool 自定义 service endpoint 的测试工具
一个 ABAP Development Tool 自定义 service endpoint 的测试工具
41 0
|
9月前
|
算法 安全 Java
【算法与数据结构】3 知行合一,线性查找的自定义类测试
【算法与数据结构】3 知行合一,线性查找的自定义类测试
|
10月前
|
存储 测试技术
性能测试(11)——用户自定义变量
起的名称需要注意是要见名知意,因为后面参数化的时候需要引用此名称 变量的值代表该名称引用的值,类似hashmap,以key,value形式存储 描述可写可不写,建议写上,不然数据多的时候,一个个去猜,很麻烦
58 0
|
XML Java 测试技术
JAVA TestNG单元测试详解
JAVA TestNG单元测试详解
75 0
|
开发框架 Java 测试技术
JAVA 利用MyEclipse结合TestNG测试框架进行单元测试
JAVA 利用MyEclipse结合TestNG测试框架进行单元测试
67 0
EMQ
|
网络协议 安全 物联网
物联网多协议、多场景自定义测试|XMeter Cloud 更新
XMeter Cloud本次更新将满足自定义测试场景和测试更广泛协议的需求,实现对TCP、WebSocket、HTTP等网络协议的测试,帮助用户构建更复杂的测试场景。
EMQ
145 0

热门文章

最新文章