使用testng的@DataProvider数据驱动执行时在Allure报告中用例名称展示的是固定的,description字段只能静态配置。如果想要区分修改报告中每条用例的名称则需要通过监听在用例开始前去修改名称。
监听实现代码如下,获取名称部分根据测试用例的传参对应修改
import org.testng.ITestListener;
import org.testng.ITestResult;
public class YaYiAlgorithmServiceListeners implements ITestListener {
@Override
public void onTestStart(ITestResult result) {
Object[] parameters = result.getParameters();
if(parameters.length>=1){
String testName = (String)result.getParameters()[1];
if( testName != null && !testName.equals("")){
// 设置description
result.getMethod().setDescription(testName);
}
}
}
}
我的测试用例
在需要监听的测试类上添加@Listeners
修改后效果如下