【发布时间】:2018-08-26 16:15:16
【问题描述】:
我必须根据测试数据多次运行我的逻辑。
在这里,在某些迭代中,很少有字段是可选的,所以我得到 No element found 异常,但我可以通过 TC,所以我想继续我的脚本。
在下一次迭代中,我的脚本应该再次查找该字段,如果它存在,它应该遵循路径 1 或路径 2。
我怎样才能做到这一点?
请帮忙...
【问题讨论】:
标签: java selenium testing automation webdriver
我必须根据测试数据多次运行我的逻辑。
在这里,在某些迭代中,很少有字段是可选的,所以我得到 No element found 异常,但我可以通过 TC,所以我想继续我的脚本。
在下一次迭代中,我的脚本应该再次查找该字段,如果它存在,它应该遵循路径 1 或路径 2。
我怎样才能做到这一点?
请帮忙...
【问题讨论】:
标签: java selenium testing automation webdriver
您必须使用 try catch 构造来捕获 noSuchElement 异常,并且在 catch 块中没有代码或在元素不存在时必须执行的代码。
另一种选择是使用 findElements 而不是 findElement,这将为您提供一个列表。您现在可以检查列表是否为空,这意味着未找到该元素,当找到该元素时列表中有一个元素。使用 findElements 时不会抛出异常。
【讨论】:
使用 try/catch 块
try {
data = getElement(1);
found = true;
} catch (NoSuchElementException e) {
found = false;
}
【讨论】:
您可以使用 if() {} else {} 条件来处理它。 或者您可以在缺少的字段中放置一些默认值。或者你可以使用异常处理概念 try {} catch() {} blocks..
【讨论】: