Webdriver- Java- TestNGHow我可以在运行所有类后将测试标记为Fail

时间:2015-03-07 14:42:56

标签: java selenium webdriver testng

所以,我使用的是Selenium Webdriver-Java。

我有四个文件

Setup.java 我在哪里设置selenium服务器和Firefox浏览器并停止它们。

login.java :用于在登录页面中测试一些css属性的类

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

Main.java 我在哪里调用Setup.java,login.java和logout.java


我在Login和Logout类中使用softassert方法,比如

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

我在文件中有很多softassertions,我做了

s_assert.assertAll();

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

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

提前致谢!

Shario

1 个答案:

答案 0 :(得分:0)

最好的方法是创建String变量以在类中传送消息。

e.g。 String errorMessages = null;

使用Try catch块并在变量中存储错误消息来捕获断言错误。

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通知错误,并将测试标记为失败。

希望它有所帮助。