我正在使用带有htmlunit的Selenium remotewebdriver并且我需要通过IPS获取一小部分目标URL - 一些URL应该触发IPS来堵塞流量,在这种情况下,该特定测试的正确“通过”场景是请求应该超时。这些是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:预期的异常:org.openqa.selenium.TimeoutException