Intern / Leadfoot:如何获取HTTP状态代码

时间:2016-08-23 12:03:59

标签: selenium intern leadfoot

如何使用intern移动到某个页面后确定HTTP状态?

this.remote.get('http://google.de') // status 200
this.remote.get('http://google.de/alsdflasdf') // 404 Not Found

1 个答案:

答案 0 :(得分:2)

所以这就是hack ..使用BrowserMob代理并通过BrowserMob Proxy发送您的请求,这些代理将为您提供您希望拥有的所有相关状态代码。
以下是使用browsermob代理将最后一个响应代码保存到a的代码示例 变量:

    int lastResponseCode;

    ProxyServer server = new ProxyServer(8888);
    server.start();

    server.addResponseInterceptor(new HttpResponseInterceptor() {
      @Override
      public void process(HttpResponse response, HttpContext context) throws HttpException,
IOException {
        lastResponseCode = response.getStatusLine().getStatusCode();
      }
    });

    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability(CapabilityType.PROXY, server.seleniumProxy());
    WebDriver driver = new FirefoxDriver(caps);

在selenium Webdriver中永远不会支持状态代码的原因在于:https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141