如果第一个测试用例使用selenium失败,如何执行第二个测试用例

时间:2015-04-25 08:57:49

标签: java selenium-webdriver

假设这是我的代码

Webdriver dr = new FireFoxdriver();

@test(prioity =1)
{
    dr.findelement(By.id("element1_id")).click();
}
@test(prioity =2)
{
    dr.findelement(By.id("element2_id")).click();
}

如果dr.findelement(By.id("element1_id")).click();抛出异常,那么后如何停止执行第二个测试用例?

2 个答案:

答案 0 :(得分:1)

如果您正在使用TestNG,则可以使用参数alwaysRun。

@Test(priority = 1, alwaysRun = true)

这将执行该方法,无论其他任何测试(或配置方法)发生什么,所以小心!)

答案 1 :(得分:0)

不确定您使用的是哪种语言,但是参考您的示例,很容易将测试用例组合在一起 - 这是一个java解决方案,也应该与其他语言一起使用:

WebElement element = null;
try{
   element = dr.findByElement(By.id("element1_id"));
}catch(NoSuchElementException e){
  // If no matching element for "element1_id" is found, search for the other one
   element = dr.findByElement(By.id("element2_id"));
  // you might want to check again the exception
}
if(element != null){
   element.click();
}

这是方法findByElement的API Doc及其返回值/异常 http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebDriver.html#findElement-org.openqa.selenium.By-

HTH