はじめに
- IEを使った自動テストはできるようになったので次はChromeに手を出してみる
- Selenium-WebDriverを使ってChromeでテストを動かす手順を残しておく
- Windows環境で動くJenkinsスレーブを構築済み
- リモートで動かす
- 実行環境は以下のとおり
- OS : Windows8
- Google Chrome : 27
- Ruby : 1.9.3@429
- selenium-webdriver : 2.33.0
- chromedriver : win_26.0.1383.0
設定ファイル作成
- 以下を設定ファイルに書くだけ
Capybara.register_driver driver do |app|
caps = eval "Selenium::WebDriver::Remote::Capabilities.chrome"
opts = { browser: :remote,
url: 'http://localhost:4444/wd/hub',
desired_capabilities: caps }
Capybara::Selenium::Driver.new app, opts
end
- プロキシ環境で動かす場合は以下のように書く
Capybara.register_driver driver do |app|
client = Selenium::WebDriver::Remote::Http::Default.new
opts = { browser: :chrome, http_client: client }
opts[:profile] = Selenium::WebDriver::Chrome::Profile.new
opts[:switches] = ["--proxy-server=http://PROXYHOST:PROXYPORT"]
Capybara::Selenium::Driver.new app, opts
end
はまったところ
- ここからchromedriverがダウンロードできる
- chromedriver_win32_2.0.zipを入れていたがこれではプロキシ設定がきかなかった(プロキシ環境でなければ問題なく動いてそうだった)
- chromedriver_win_26.0.1383.0.zipだとイケた
~ただの宣伝~
- 全国のSeleniumer必読
- Selenium, SauceLabs, Travis, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください