自动化工具 关于 TestNG 和 ReportNG 的两个疑问

納蘭 · 2017年08月19日 · 最后由 納蘭 回复于 2017年08月21日 · 1287 次阅读

第一个疑问:
在使用 testng.xml 执行用例按照网上教程替换 reportng 作为报告输出时
在 xml 中添加如下监听

<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />

如果不去除以下内容便会报错

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

报错内容如下

org.testng.TestNGException: org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 10; 元素类型为 "test" 的内容必须匹配 "(method-selectors?,parameter*,groups?,packages?,classes?)"

目前第一个问题已经解决,testng.jar 更换 6.8 即可。

第二个疑问:
如何修改 reportng 的输出路径?
默认是 test-output 下的 html。我想改成 test-output 的根目录。
代码功底比较弱,折腾两天未取得进展特来求助。

暂时只是定位到导出的目录,想法是将"html"改成"/".但感觉成功率比较低。
本想导出 JAR 包试试,不过好像涉及 maven,对 maven 不太熟悉,暂时停滞在此。
求大神助攻!

经过尝试验证,证明想法没问题,已成功实现目的。在此分享成果和效果。

改进如下
1、中文显示
2、缩小饼图为 400,200(饼图太大在 eclipse 中显示不友好)
3、将报告的生成路径修改到了 test-output 目录,好处是在 eclipse 中可以直接点击查看;
站在巨人的肩膀上,感谢 testly 和 小明 tx 的分享 以及 AngryTester 提供的第二种思路。
需要 JAR 包的可以找我,个人资料有邮箱。

共收到 3 条回复 时间 点赞

第一个问题暂时解决了,应该是 testng 的 jar 包版本不兼容导致的。


public static final String FILE_SEPARATOR = System.getProperties().getProperty("file.separator");
private static final String REPORT_DIRECTORY = ".." + FILE_SEPARATOR + "html";

不知道你的需求是不是这个

AngryTester 回复

经过验证,一下两个方法都可以满足我的需求。感谢帮助!
1、

public static final String FILE_SEPARATOR = System.getProperties().getProperty("file.separator");
  private static final String REPORT_DIRECTORY = ".." + FILE_SEPARATOR + "test-output";

2、

private static final String REPORT_DIRECTORY = "/";
納蘭 关闭了讨论 08月21日 13:20
納蘭 重新开启了讨论 08月21日 13:21
需要 登录 後方可回應,如果你還沒有帳號按這裡 注册