2016-08-23 19 views
1

internを使用して一部のページに移動した後のHTTPステータスを確認するにはどうすればよいですか?だからここIntern/Leadfoot:HTTPステータスコードを取得する方法

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

ベター常にアサートする方法は、Webアプリケーションを起動した後にページ上に特定のコントロールが存在するかどうかをチェックしたり、ページのタイトルをチェックしたりすることです。 Seleniumはステータスコードを返しません。 [それを得るためにハックがあります。しかし、決してお勧めしません] –

+0

うーん、私は何らかの目的のためにページが404が見つかりませんでした。私が確認できるページには信頼できる要素はありません... – Kiechlus

答えて

2

はhack..Use BrowserMobプロキシだとBrowserMobプロキシ経由でリクエストを送信し、これらのプロキシは、あなたが持っているしたいすべての関連するステータスコードを提供します。ここ
は 変数に最後の応答コードを保存するためにbrowsermobプロキシを使用するコードのサンプルです:

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); 

とステータスコードは、セレンwebdriverをでサポートされることがない理由はここにある:https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141

関連する問題