文章目录
一般做的 testng 测试项目,往往离不开几个产出:1.测试截图 2.测试 log 日志 3.测试报告
这里我们来详细讲解下 java testng 项目的测试报告怎么配置
前提准备
项目需要配置好 slf4j + log4j 的日志系统,具体配置方式如下博文所示:
配置完之后下面才能使用 log.info 的形式,也才能在项目下 logs 文件夹的 log 日志中看到 testng 的日志监听器中的 log 输出
第一步:编写日志监听器
注意:此日志监听器的作用不是来产生 log 日志,这个是 slf4j+log4j 完成的任务,此日志监听器的作用是为了将测试不同阶段进行 log 记录写进由 slf4j + log4j 搭好的日志文件中
首先项目依赖肯定得要有 testng 依赖,然后我们在 listener 包中编写监听器类,通过继承 testng 的 TestListenerAdapter 接口,代码如下:
@Slf4j
public class TestLogListener extends TestListenerAdapter {
/**
* 开始
*
* @param iTestContext ITestContext
*/
@Override
public void onStart(ITestContext iTestContext) {
super.onStart(iTestContext);
log.info(String.format("====================%s测试开始====================", iTestContext.getName()));
}
/**
* 测试开始
*
* @param iTestResult ITestResult
*/
@Override
public void onTestStart(ITestResult iTestResult) {
super.onTestStart(iTestResult);
log.info(String.format("========%s.%s测试开始========", iTestResult.getInstanceName(), iTestResult.getName()));
}
/**
* 测试成功
*
* @param iTestResult ITestResult
*/
@Override
public void onTestSuccess(ITestResult iTestResult) {
super.onTestSuccess(iTestResult);
log.info(String.format("========%s.%s测试通过========", iTestResult.getInstanceName(), iTestResult.getName()));
}
/**
* 测试失败
*
* @param iTestResult ITestResult
*/
@Override
public void onTestFailure(ITestResult iTestResult) {
super.onTestFailure(iTestResult);
log.error(String.format("========%s.%s测试失败,失败原因如下:\n%s========", iTestResult.getInstanceName(), iTestResult.getName(), iTestResult.getThrowable()));
/**
* 出现异常进行截图操作,这里得要自己去实现
*/
}
/**
* 测试跳过
*
* @param iTestResult ITestResult
*/
@Override
public void onTestSkipped(ITestResult iTestResult) {
super.onTestSkipped(iTestResult);
log.info(String.format("========%s.%s跳过测试========", iTestResult.getInstanceName(), iTestResult.getName()));
}
/**
* 结束
*
* @param iTestContext ITestContext
*/
@Override
public void onFinish(ITestContext iTestContext) {
super.onFinish(iTestContext);
log.info(String.format("====================%s测试结束====================", iTestContext.getName()));
}
}
可以看见我们实现 TestListenerAdapter 接口的监听器类中的方法都是重写了接口方法,内部都要自己去实现的,在 testng.xml 中还需要配置监听器来监听 log 日志信息。一般我们会在 onTestFailure 方法中进行界面出错截图代码的编写
第二步:testng.xml 配置监听器
<listeners>
<listener class-name="com.abcnull.listener.TestLogListener"/>
</listeners>
第三步:查看日志报告
运行使用了 log 日志系统的测试用例之后,我们能在产出的 log 日志查看到测试运行不同阶段时候的 log 信息,这些 log 信息正好就是我们日志监听器中自己写的那些 log 打印日志
本文详细介绍如何在Java TestNG项目中配置测试报告,包括设置日志监听器、testng.xml配置及查看日志报告的方法。通过实现TestListenerAdapter接口,自定义日志输出,便于跟踪测试进度。
4349

被折叠的 条评论
为什么被折叠?



