我有一个包含assertEquals
的方法@Test(enabled=true,groups = {"regression","sanity"})
public void Samplecode()
{
Constants.driver.get(Constants.INVENTORY_SUMMARY_URL);
Assert.assertEquals(invsummpagedetails.getTechnology().getText(), "Test1");
Assert.assertEquals(invsummpagedetails.getSoftware().getText(), "Test2");
Assert.assertEquals(invsummpagedetails.getChassis().getText(), "Test3");
}
我想将此方法的结果发送到不同包中的另一个方法。
我希望这在我们存储测试用例的存储库中自动将测试用例结果更新为PASSED或FAILED
答案 0 :(得分:0)
您可以实施org.testng.TestListenerAdapter
并覆盖方法onTestFailure
,onTestSuccess
等,此处您可以获得测试结果,然后将其传递给“结果处理器”。
答案 1 :(得分:0)
如前所述,您必须覆盖org.testng.TestListenerAdapter
此侦听器捕获测试用例的结果。我的猜测是你要跟踪测试用例的结果。我对么?如果是这样,我可以显示一个包含数据库结构的完整Web界面,以向您展示您的测试运行的良好概述。
但是如何在测试框架中实现这一点,你可以做到以下几点。
您是否正在使用maven或eclipse运行测试用例?
蚀:
所有测试用例都需要此注释
@Test(testListener=TestListener.class)
的Maven:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<listeners>
<listener class-name="TestListener" />
</listeners>
</configuration>
</plugin>
</plugins>
</build>
然后实现TestListener
public class TestListener extends TestListenerAdapter {
public TestListener(){
}
@Override
public void onTestSuccess(ITestResult tr) {
super.onTestSuccess(tr);
}
@Override
public void onTestFailure(ITestResult tr) {
super.onTestFailure(tr);
}
@Override
public void onTestSkipped(ITestResult tr) {
super.onTestSkipped(tr);
}
@Override
public void onStart(ITestContext testContext) {
super.onStart(testContext);
}
@Override
public void onFinish(ITestContext testContext) {
super.onFinish(testContext);
}
}