使用SeleniumJava从网页获取状态代码



我想检查这3个站点的状态代码:http://google.com,http://birgun.net,http://roche.com.但我只需要检查一下SeleniumJava。我不知道用Selenium检查状态代码。你能帮我写代码吗?我已经检查了如何使用Selenium WebDriver获取HTTP响应代码,但我无法满足,无法理解

正如您提到的问题中所述,这是不可能的。Selenium在UI级别工作。您可以应用browsermob代理,将Selenium测试与之集成。在该代理中,您可以添加过滤器,以检查您的响应是否包含所需的状态代码。

下面是";鱼骨";用于sch测试。

@Test
public void statusCode(){
// ...
proxy.addResponseFilter((httpResponse, httpMessageContents, httpMessageInfo) -> {
if (httpMessageInfo.getOriginalUrl().equals(getCurrentUrl(driver)) 
&& !httpResponse.getStatus().equals(HttpResponseStatus.OK)){
// TODO: do smth;
}
});
// ...
}
private String getCurrentUrl(WebDriver driver){
return driver.getCurrentUrl();
}

请注意,由于代理处理页面中的所有HTTP调用,包括对资源的调用和AJAX调用,因此您需要缩小正在监视的状态代码的请求范围。。

在这里,您可以找到如何检查页面中未加载图像的示例。这与你的情况非常相似。您可以对其进行检查,以获得该方法的总体概念,并对其进行修改,使其能够满足您的需求。

相关内容

最新更新