在selenium中,即使失败,如何继续运行脚本

时间:2014-03-10 09:12:00

标签: java selenium selenium-webdriver

我有一个表单填写脚本 在任何行执行期间(步骤)如果测试用例失败,则直接关闭浏览器。 例如:在填写表单时,如果找不到元素(文本框或复选框),它会抛出异常的nosuchelements并直接关闭我在脚本中使用assert(testNG)的浏览器 我想要的是如果测试用例在任何地方都失败了我希望测试用例继续执行,但在报告中它应该显示测试用例失败

在我的代码中

String Jobvalue = driver.findElement(By.xpath("//label[@for='ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_5']")).getText();

Assert.assertEquals(Jobvalue, "Job Value ($)");

Reporter.log(Jobvalue+" Text Verification ---- Passed",true);
如果实际值不等于预期值,则

断言将使测试用例失败 我想要断言的替代或继续执行测试用例直到结束的任何代码,如果实际值不等于预期值,它应该显示它是失败的

3 个答案:

答案 0 :(得分:0)

Santhosh,我们需要更多关于您正在尝试的信息/代码。假设,这是我对您问题的回答。

在测试步骤中使用validate()方法而不是assert()。

答案 1 :(得分:0)

使用try-catch可以轻松处理任何异常。

try{
String Jobvalue = driver.findElement(By.xpath("//label[@for='ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_5']")).getText();

Assert.assertEquals(Jobvalue, "Job Value ($)");
}
catch()
{
//Write your code here about failing the test
}

答案 2 :(得分:0)

如果Assert失败,它会抛出AssertionError,这就是你的程序停止的原因。您可以使用try / catch来处理异常。

try{
 Assert......
}catch(AssertionError  e){
 //handle the exception
}

请参阅here以获取Assert文档