Selenium remotewebdriver 超时应该(在这种情况下)return true

Selenium remotewebdriver timeout should (in this case) return true

我正在使用带有 htmlunit 的 Selenium remotewebdriver 并且有一小部分目标 URL 需要通过 IPS 获取 - 一些 URL 应该触发 IPS 来黑掉流量,在这种情况下,正确的 "pass" 该特定测试的场景是请求应该超时。顺便说一句,这些在 Java 中。所以,像这样:

@Test
public void TESTING_IPS_THIS_SHOULD_TRIGGER_ALERT_AND_BLACKHOLE() {
    driver.get("http://testmyids.com");
    //I would like to do a simple assert here that timeout is true;

}

所以我的问题是 - 以更类似于发生驱动程序超时的 assertTrue 的方式实现此目的的最简单方法是什么?

如果超时,WebDriver 会抛出 TimeoutException。要检查这是否真的发生,只需在您的测试方法的注释中声明期望此异常,如下所示:

@Test(expected = org.openqa.selenium.TimeoutException.class)
public void TESTING_IPS_THIS_SHOULD_TRIGGER_ALERT_AND_BLACKHOLE() {
    driver.get("http://testmyids.com");
    //I would like to do a simple assert here that timeout is true;

}

如果抛出异常,则测试通过。如果不是,错误信息是:

java.lang.AssertionError: Expected exception: org.openqa.selenium.TimeoutException