我知道这是一个古老的线程,但我已经解释here如何自定义TestHTMLReporter在这里它是:
与您customReport你不得不实施IReporter,延长TestListenerAdapter如果你想重写generateReport方法实施自定义TestHTMLReporter。对于其他记者来说,你可能不得不做点事情,但这个概念将保持不变。你可以像下面那样实现自定义的'TestHTMLReporter'。
在你的项目中创建一个CustomReport.java文件和TestHTMLReporter.java全部内容复制粘贴,在getOutputFile方法来更改文件的名称和它看起来像下面
public class CustomReport extends TestListenerAdapter implements IReporter {
@Override
public void generateReport(List xmlSuites, List suites,
String outputDirectory) {
}
...
//paste the content of TestHTMLReporter.java here
...
...
确保所有的进口都到位从TestHTMLReporter.java 现在,在此文件中根据您的要求更改。对于例如:如果你想在generateTable方法添加结束时间每个测试的,然后在正确的位置添加下面的代码片段
// Test class
String testClass = tr.getTestClass().getName();
long testMillis = tr.getEndMillis();
String testMillisString = Long.toString(testMillis);
if (testClass != null) {
pw.append("
").append("Test class Name: ").append(testClass);
// this line to add end time in ms
pw.append("
").append("End Time(ms): ").append(testMillisString);
// Test name
String testName = tr.getTestName();
if (testName != null) {
pw.append(" (").append(testName).append(")");
}
然后你会得到像下面
现在,您将得到两份报告,一份使用默认值,另一份使用您的文件名。 现在唯一保留的是关闭默认报告监听器,因此您只能获得一个报告。为此,您可以按照this或者您可以搜索解决方案。希望这可以帮助