Web驱动程序 - Java- TestNG运行所有类后,我可以如何将测试标记为失败



所以,我正在使用Selenium Webdriver-Java。

我有四个文件

设置.java我设置硒服务器和火狐浏览器并停止它们的地方。

登录.java:用于测试登录页面中某些CSS属性的类

注销.java:用于测试的类 注销

主.java我称之为设置.java,登录.java和注销的地方.java


我在登录和注销类中使用软断言方法,例如

SoftAssert s_assert = new SoftAssert();
s_assert.assertEquals(fontSize, "13px", "BANNER Font size Test");

我在文件中有很多软断言,我做了一个

s_assert.assertAll();

在 TestNG 报告中将其标记为失败

  • 问题是,如果 Login 类中的任何断言失败,则不会执行 Logout 类。有没有办法s_assert.assertAll();在主类中,我调用@test下的所有函数?

提前感谢!

沙里奥

最好的方法是创建字符串变量来在类中携带消息。

例如 String errorMessages = null;

使用"尝试捕获块"捕获断言错误,并将错误消息存储在变量中。

try{
SoftAssert s_assert = new SoftAssert();
s_assert.assertEquals(fontSize, "13px", "BANNER Font size Test");
}catch(AssertionError ae){
if(errorMessages == null) errorMessgaes = "";
errorMessages += ae.getMessage();
}
//Code to execute logout

注销后将其丢弃。

throw new Exception(yourStringVariable);

通过这种方式,您可以通知TestNG有关错误的信息,它会将您的测试标记为失败。

希望对您有所帮助。

最新更新