在我下面的测试方法中,该方法有多个断言。我希望它能够运行,以便如果所有断言都通过,那么它将在我的测试管理工具中将状态记录为“通过”(我们正在将 Test Link 与 Selenium 集成)
但是,如果任何一个断言失败,则 testNG 会生成断言错误;在这种情况下,我无法将 TMT 中的状态更新为“失败”,因为该方法的执行已停止,并且已继续执行下一个方法。
请提供一些帮助来解决此问题。
Test(dataProvider = "User_login")
public void StatusForm_Verification(String uname, String pwd)
throws InterruptedException {
NavigateToLogin();
Dashboard RD = LoginAs_user(uname, pwd);
Thread.sleep(2000);
if (Integer.parseInt(ReviewedStatuscount) >= 1) {
Assert.assertEquals("true",
revui.Btn_SaveReview.getAttribute("disabled"));
Assert.assertEquals("true",
revui.Btn_submitReview.getAttribute("disabled"));
Assert.assertEquals("true",
revui.Btn_Needmoreinfo.getAttribute("disabled"));
status = TestLinkAPIResults.PASSED;
} else {
throw new SkipException(
"Test Skipping - Reviewed count is Zero");
}
}
我的问题是:如果任何一个断言失败,那么如何在 TeSTLink 应用程序中将状态更新为“失败”(即状态 = TestLinkAPIResults.FAILED
)?
最佳答案
您可以使用@after并在测试执行后检查状态
@After
public void statusCheck() {
if (status!=TestLinkAPIResults.PASSED) {
status = TestLinkAPIResults.FAILED;
}
}
关于java - 多重断言验证处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17811707/