前提・実現したいこと
Ruby + Selenium Webdriver を使用し、Webアプリのセレニウムテストを作成しています。
テスト項目の中で「ファイルをダウンロードできるか?」を確認したく、テストコードを実装しているのですが、
ファイル拡張子やブラウザ毎に、ダウンロード時の挙動が異なるため、実装に苦慮しております。。
プロキシサーバーを立て、トラフィックを取得することで
- 「ダウンロードボタン実行後のレスポンスヘッダーのステータスコードが "200" か否か?」
上記判断をすることで、ダウンロードの成功可否を確認したいと思っております。
苦慮している問題
Selenium Webdriver のドキュメントには、プロキシサーバーの設定方法が記載されています。
- 参照先: Httpプロキシ
ruby
1# this code was written with Selenium 4 2 3proxy = Selenium::WebDriver::Proxy.new(http: '<HOST:PORT>') 4cap = Selenium::WebDriver::Remote::Capabilities.chrome(proxy: proxy) 5 6driver = Selenium::WebDriver.for(:chrome, capabilities: cap) 7driver.get('http://google.com')
しかし、プロキシを立てた後に、どのような実装方法でレスポンスヘッダーを取得できるのかが分かっていません。。。
試したこと
browsermob-proxy というgem を利用することで、トラフィックを取得して、レスポンスヘッダーを取得できそうなのですが、
該当ドキュメントを見る限り、どのような実装でセレニウムテストに埋め込めるのかが分からずでした。。
- 参照先: browsermob-proxy-rb
補足情報(FW/ツールのバージョンなど)
使用ブラウザ
- Chrome
- Firefox
開発言語
- Ruby
使用ツール
- Selneium Webdriver
- Cucumber
質問事項
- Ruby + Selenium Webdriver + Proxy でレスポンスヘッダーを取得する方法として、どのような実装があるのでしょうか?
拙い質問で恐縮ですが、実装の参考になるアドバイスをご教授頂けると幸いです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/20 08:10