Han*_*Han 15 selenium selenium-webdriver
在Selenium 2中,我想确保驱动程序加载的页面上的元素不存在.我在这里包括了我天真的实现.
WebElement deleteLink = null;
try {
deleteLink = driver.findElement(By.className("commentEdit"));
} catch (NoSuchElementException e) {
}
assertTrue(deleteLink != null);
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方式基本上验证断言NoSuchElementException被抛出?
Tne*_*nem 32
如果您正在使用junit进行测试,并且这是您测试的唯一内容,则可以使测试期望使用例外
@Test (expected=NoSuchElementException.class)
public void someTest() {
driver.findElement(By.className("commentEdit"));
}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用findElements返回元素列表的方法,如果没有找到,则可以使用空列表(不抛出NoSuchElementException):
...
List<WebElement> deleteLinks = driver.findElements(By.className("commentEdit"));
assertTrue(deleteLinks.isEmpty());
...
Run Code Online (Sandbox Code Playgroud)
要么
....
assertTrue(driver.findElements(By.className("commentEdit")).isEmpty());
....
Run Code Online (Sandbox Code Playgroud)
小智 6
你可以用这个:
Boolean exist = driver.findElements(By.whatever(whatever)).size() == 0;
Run Code Online (Sandbox Code Playgroud)
如果不存在则返回true.
| 归档时间: |
|
| 查看次数: |
51072 次 |
| 最近记录: |