硒选择类不会抛出错误,当它没有找到下拉列表中的项目
问题描述:
我有方法来选择使用Select类的可见文本的项目。我在参数中传递的项目不在列表中。我希望测试失败,并给我错误没有找到这样的元素,但硒继续等待项目出现,并没有失败。有没有办法强制通过测试并打印异常。硒选择类不会抛出错误,当它没有找到下拉列表中的项目
public static void selectAnItem(String elemetLocator, String itemToSelect){
Select select = new Select(driver.findElement(By.xpath(elemetLocator)));
try {
select.selectByVisibleText(itemToSelect);
} catch (Exception e) {
e.printStackTrace();
}
}
答
问题是你正在吃try-catch
的例外。如果你删除它,它应该抛出你期待的错误。
一个建议...而不是通过String elementLocator
,传递By
类。这将允许您不仅仅使用XPath,例如现在
public static void selectAnItem(By locator, String itemToSelect)
{
new Select(driver.findElement(locator)).selectByVisibleText(itemToSelect);
}
可以使用By.id()
,By.cssSelector()
,等等。
当然可以......你用你的“catch”吃掉了错误......有什么问题? – JeffC
@JeffC谢谢。它现在有效。我删除了try catch,发现它正在花费几分钟才能失败并抛出错误。 – ktmrocks
好的。我会添加我的评论作为答案,以便您可以接受它,所以问题不会被解决。 – JeffC