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は様々な情報がネットに散らばっていて探すのが大変ですね。少しでもお役にたてれば嬉しいです。

この記事が気に入ったら
フォローしてね!

よかったらシェアお願いします!
URLをコピーする
URLをコピーしました!
タップできる目次
閉じる