TestNG 默认的测试报告 没有html文件 怎么处理
时间: 2023-11-28 12:49:02 浏览: 70
TestNG默认的测试报告是以XML格式输出的,如果想要生成HTML格式的测试报告,可以使用TestNG自带的`Reporter`类或第三方工具,如ExtentReports、Allure等。以下是使用Reporter类生成HTML格式测试报告的步骤:
1. 在TestNG测试类中添加`@Listeners(TestReportListener.class)`注解,引入自定义的监听器类。
2. 创建一个实现`ITestListener`接口的监听器类,重写`onTestSuccess`、`onTestFailure`、`onTestSkipped`等方法,在方法中使用`Reporter.log`方法输出测试结果。
3. 运行测试后,会在项目目录下生成一个`test-output`文件夹,其中包含了测试结果的XML文件和截图(如果有的话)。
4. 使用TestNG自带的`Reporter`类将XML文件转换为HTML格式的测试报告,代码如下:
```java
import org.testng.Reporter;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
public class TestReportListener implements ITestListener {
@BeforeSuite
public void beforeSuite() {
Reporter.log("<html><head><title>Test Report</title></head><body>");
}
@AfterSuite
public void afterSuite() {
Reporter.log("</body></html>");
Reporter.flush();
}
@Override
public void onTestSuccess(ITestResult result) {
Reporter.log("<p style=\"color:green;\">Test Passed: " + result.getName() + "</p>");
}
@Override
public void onTestFailure(ITestResult result) {
Reporter.log("<p style=\"color:red;\">Test Failed: " + result.getName() + "</p>");
}
@Override
public void onTestSkipped(ITestResult result) {
Reporter.log("<p style=\"color:orange;\">Test Skipped: " + result.getName() + "</p>");
}
// 将其他方法省略...
}
```
在`beforeSuite`方法中输出HTML文件的头部,`afterSuite`方法中输出HTML文件的尾部,并调用`Reporter.flush()`方法将结果写入HTML文件。在各个测试结果的处理方法中,使用`Reporter.log`方法输出HTML格式的测试结果。
5. 运行测试后,在`test-output`文件夹中会生成一个`emailable-report.html`文件,即为HTML格式的测试报告。
阅读全文