如何验证Selenium 2中不存在元素

Selenium 2中,我要确保驱动程序已加载的页面上的元素不存在。我在这里包括了我的幼稚实现。

    WebElement deleteLink = null;

try {

deleteLink = driver.findElement(By.className("commentEdit"));

} catch (NoSuchElementException e) {

}

assertTrue(deleteLink != null);

有没有一种更优雅的方法可以从根本上验证断言是否引发了NoSuchElementException?

回答:

如果您正在使用junit进行测试,而这只是您要进行的测试,则可以使测试使用来预期异常

@Test (expected=NoSuchElementException.class)

public void someTest() {

driver.findElement(By.className("commentEdit"));

}

或者,您可以使用findElements返回元素列表的方法,如果找不到元素,则返回一个空列表(不抛出NoSuchElementException):

...

List<WebElement> deleteLinks = driver.findElements(By.className("commentEdit"));

assertTrue(deleteLinks.isEmpty());

...

要么

....

assertTrue(driver.findElements(By.className("commentEdit")).isEmpty());

....

以上是 如何验证Selenium 2中不存在元素 的全部内容, 来源链接: utcz.com/qa/423391.html

回到顶部