プログラミング

Selenium WebDriver+BrowserMob ProxyでのHTTPステータスコードの取得方法

Seleniumを使ったWebシステムのテストにおいて、HTTPのステータスコードを確認する方法です。

HTTPのステータスコードはBrowserMob Proxyを使用することで取得することができます。

この記事ではSeleniumテスト環境でBrowserMob Proxyを使ったHTTPステータスコードの確認方法を検証しました。

BrowserMob Proxyの準備

Selenium単体ではHTTPレスポンス情報は取得できません。

そこでBrowserMob Proxyを使います。

 

BrowserMob Proxyでproxyを立ち上げ、Seleniumとテスト対象システム間の通信をproxy経由させることで、HTTPレスポンスを監視できます。

 

まず、BrowserMob Proxyのライブラリを以下のサイトからダウンロードします。
https://bmp.lightbody.net/

 

ダウンロードしたらzipを解凍し、browsermob-proxy-***フォルダ直下の.jarファイルとlibフォルダ内の.jarファイルをプロジェクトに追加します。

 

Selenium WebDriver+BrowserMob Proxyを使ったHTTP Status Code取得サンプル(Java)

以下のようにSelenium WebDriverのインスタンスを作る際にproxy通信の設定をします。

 

これで生成したSeleniumのWebDriverは通信にproxyを経由するようになります。

 

次に、通信監視のため、BrowserMob ProxyのResponseInterceptorインターフェイスの実装を行います。

ResponseInterceptorインターフェイスの実装クラスを作り、processメソッドをオーバライドします。

 

このprocessメソッドはHTTP通信が発生するたびに呼び出されます。

WebDriverを破棄する際に同時にproxyも停止させます。

  • driver.quit();
  • proxy.stop();

 

まとめ

Seleniumテスト環境でHTTPレスポンスを監視するには、

  • BrowserMob Proxyを使ってproxy経由の監視を行う
  • 監視処理(ResponseInterceptor)を実装しprocessメソッドを好きなようにオーバライドする
  • processメソッドはHTTP通信発生時にコールされる
  • WebDriver破棄時にproxy.stop()

Seleniumは様々な情報がネットに散らばっていて探すのが大変ですね。少しでもお役にたてれば嬉しいです。

空いた時間に映画・アニメを見ませんか?

通勤中、家でゆったりしているとき、そんな空いた時間に映画・アニメを見てみませんか?

Amazonプライムは映画やドラマ、アニメが見放題。空いた時間にちょっと見るのに最適です。

さらに音楽や本の読み放題、Amazonの買い物が便利になるなどの複合サービスなので映画やアニメのためにわざわざ配信サービスを契約するのはちょっと・・・という方でも満足できます。

最新版として各サービスの内容とメリットをまとめましたので、ご興味のある方はぜひご覧ください。

【最新版】Amazonプライムのメリットとは?

RELATED POST