我必须用Selenium测试一个应用程序.该应用程序包含广告等外部内容.在我的测试中,我有几次等待文档加载.这看起来像这样:
private static final String DOCUMENT_READY_STATE_COMPLETE = "complete"; protected void waitUntilDocumentLoaded() { wait.until(input -> getDocumentReadyState().equals(DOCUMENT_READY_STATE_COMPLETE)); } private String getDocumentReadyState() { return ((JavascriptExecutor) driver).executeScript("return document.readyState").toString(); }
有时候,浏览器仍在加载一些资源.据我所知,如果readyState是交互式的而不是完整的,我有时可以接受.例如,如果某些广告未及时加载,我的测试完全没有意义.
有可能以某种方式获取包含尚未加载的URL的资源列表吗?然后我可以建立一个断言,检查哪些资源对于测试是必需的,哪些不是.
我在Linux下使用Selenium Java WebDriver 2.53.1和Firefox 46.