使用reportNG替换testNG的默认报告
关于reportng的官网介绍:http://reportng.uncommons.org/
1.下载reportNG的jar包:http://pan.baidu.com/s/1hq5znLU
2.reprotNG的源码:https://github.com/dwdyer/reportng
3.在项目中导入reportNG的jar包
4.更改eclipse设置
5.设置完成后,运行项目,在项目test-output/html/index.html即可查看report
6.设置reportng的编码
更改源文件的AbstractReporter.java,并替换相应jar包的class
protected void generateFile(File file, String templateName, VelocityContext context) throws Exception { //Writer writer = new BufferedWriter(new FileWriter(file)); //encoding to utf-8 OutputStream out=new FileOutputStream(file); Writer writer=new BufferedWriter(new OutputStreamWriter(out,"utf-8")); try { Velocity.mergeTemplate(classpathPrefix + templateName, ENCODING, context, writer); writer.flush(); } finally { writer.close(); } }
7.更改报告的方法排列顺序,按照方法的执行先后顺序来进行排序的
更改TestResultComparator.java,并替换相应jar包的class
public int compare(ITestResult result1, ITestResult result2) { //return result1.getName().compareTo(result2.getName()); int longresult2 = 0; if(result1.getStartMillis()<result2.getStartMillis()) { longresult2 = -1; }else { longresult2 = 1; } return longresult2; }
8.teng的xml文件
<?xml version="1.0" encoding="UTF-8"?> <suite name="测试用例集" parallel="false"> <listeners> <listener class-name="org.uncommons.reportng.HTMLReporter" /> <listener class-name="org.uncommons.reportng.JUnitXMLReporter" /> </listeners> <test verbose="8" name="TestNgrepotng"> <classes> <class name="com.reprot.TestNgrepotng"/> </classes> </test> <!-- Test --> <test verbose="8" name="Test22"> <classes> <class name="com.reprot.Test22"/> </classes> </test> </suite> <!-- Suite -->
9.更改报告输出样式
在reportng-1.1.4.jar的reportng.properties文件中增加
oneclass.description=Description
oneclass.duration=Duration
oneclass.testdata=Data being used
oneclass.testresult=Test result
oneclass.screenshot=Screen shot
oneclass.additionalinfo=Additional Info
在reportng-1.1.4.jar的results.html.vm文件中更改
<tr>
<td colspan="1" class="group">$testClass.name</td>
<td colspan="1" class="group">$messages.getString("oneclass.duration")</td>
<td colspan="1" class="group">$messages.getString("oneclass.testresult")</td>
</tr>
10.效果图
作者:乔叶叶
博客地址:http://www.cnblogs.com/qiaoyeye/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
******************************************************************************************************************************************
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?