Testng:如果存在异常,则跳过/失败其余测试

时间:2015-08-06 11:17:30

标签: java selenium testng

我在Java上使用Selenium和TestNG编写测试。如果发现异常,如何跳过/失败测试的其余部分?

例如,如果我在测试中有3个步骤

@Test(priority = 1)
    public void login() {

    }

    @Test(priority = 2)
    public void checkLoginResult() {

    }

    @Test(priority = 3)
    public void submitImage() {

    }

如果在第一次测试“登录”时捕获到Selenium异常(TimeOutException),我该如何跳过测试的其余部分?

是否有一些注释或任何可用于此目的的方法?

由于

2 个答案:

答案 0 :(得分:5)

检查TestNG文档中的dependsOnMethods

  

http://testng.org/doc/documentation-main.html#dependencies-with-annotations

如果将此参数添加到第二次和第三次测试,如果第一次测试失败,它们将不会执行:

@Test(priority = 1)
public void login() {

}

@Test(priority = 2, dependsOnMethods = {"login"})
public void checkLoginResult() {

}

@Test(priority = 3, dependsOnMethods = {"login"})
public void submitImage() {

}

答案 1 :(得分:1)

@Test(priority = 2,dependsOnMethods={"login"})
    public void checkLoginResult() {

    }

    @Test(priority = 3,dependsOnMethods={"login","checkLoginResult"})
    public void submitImage() {

    }

这样就会跳过家属。为了使它们失败,编写一个监听器类,您可以在每个方法失败后检查,如果失败的方法具有depndant方法,那么您可以使它们失败。这样的事情可以做到。