我有如下的testng.xml:
<classes>
<class name="com.tecnotree.clm.tests.CorporateHybridRegistrationTest" />
<class name="com.tecnotree.clm.tests.CorporatePostpaidRegistrationTest" />
</classes>
我在@BeforeClass
获取此类名称并启动extentReport
@BeforeClass(alwaysRun = true)
public void initializeLog() throws Exception
{
extentLog = extentReport.startTest(this.getClass().getName());
extentLog.log(LogStatus.INFO,"Started Test Execution for "+this.getClass().getName());
}
我正在得到一切正确的,现在问题是testname非常日志,它同样启动,我想给出我自己的名字。
例如: - 测试名称来自com.tecnotree.clm.tests.CorporatePostpaidRegistrationTest
任何人,请帮助如何做到这一点
我希望测试名称如Corporate Prepaid Registration Test
答案 0 :(得分:1)
com.tecnotree.clm.tests.CorporatePostpaidRegistrationTest
就是这样,因为你要求它:
this.getClass()。的getName()
但您可以想象为自定义名称设置另一个自定义逻辑。例如,在伪代码中:
@ExtentReport(name="Corporate Prepaid Registration Test")
public class CorporatePostpaidRegistrationTest {
[...]
@BeforeClass(alwaysRun = true)
public void initializeLog() throws Exception {
ExtentReport report = this.getClass().getAnnotation(ExtentReport.class);
String testName = report != null ? report.name() : this.getClass().getName();
extentLog = extentReport.startTest(testName);
extentLog.log(LogStatus.INFO,"Started Test Execution for " + testName);
}
}
编辑:@ExtentReport
是自定义注释,并不存在于某处。你必须自己创建它。