如果@BeforeMethod失败,我想停止执行@Test方法。如何实现这一目标

时间:2017-03-02 05:06:39

标签: selenium-webdriver testng

我用一般的例子。我在@Before方法中有登录代码:

@BeforeTest
public void setUp(){
  ///somelogin logic
}

@Test
public void Testdashboard() throws Exception{
  //Some Dashboard validation logic
}

所以这里如果@BeforeMethod中的登录失败我想停止执行@Test方法怎么做?

2 个答案:

答案 0 :(得分:1)

如果在方法失败之前,我认为测试方法不会运行。应该自动跳过@test方法。

答案 1 :(得分:0)

您可以在dependsOnMethods注释中使用@Test属性,如下所示:

@Test(dependsOnMethods={"setUp"})
public void Testdashboard() {
//Some Dashboard validation logic
}

我想这是不可能的,因为使用@BeforeMethod注释的方法不是测试方法。它用于在执行测试方法之前执行任何设置。

如果您希望测试方法依赖于其他方法,那么您需要使用dependsOnMethods属性,其值是使用@Test注释的其他方法。

您可以使用以下选项执行此操作:

- configfailurepolicy - 其值可以是skip|continue。 这将确定TestNG是否应继续执行套件中的其余测试,或者如果@ Before *方法失败则跳过它们。默认行为是跳过。

参考链接: http://testng.org/doc/documentation-main.html