はじめに
- Mac環境でのChromeを使った自動テスト環境構築方法をメモ
実行環境
- OS : Mac OS X 10.9
- Ruby : 1.9.3p392
- GoogleChrome : 31.0.1650.63
- selenium-webdriver : 2.38.0
- ChromeDriver : chromedriver_win32.zip
作業
- GoogleChromeをインストールし、パスが以下のようになっているか確認
- "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
- ChromeDriverをインストール
- chromedriver_win32.zipから取得する
- ダウンロードしてきたディレクトリで以下を実行
$ unzip chromedriver_win32.zip
$ ls chromedriver # unzip後の確認
$ ln -s chromedriver /usr/local/bin/chromedriver #chromedriverのパスを通す
後はcucumber/capybaraなりで書いたコードを実行すればブラウザがふわっと立ち上がりテストが始まるという物語
はまったところ
- 一番大切なのはこのはまったところなのですが、2点ほど
- まず、Chromeは自動更新なので追従してChromeDriverも対応してあるやつに変えないといけない
- 次に、MacのChromeDriverではoptionのprofileが使えないということ
MacのChromeDriverではoptionのprofileが使えない件
- opts[:profile] = Selenium::WebDriver::Chrome::Profile.new のように書いていた
- LinuxのChromeでは使えていたので使えると思いきやMacでは・・・
- 「unknown error: cannot parse capability: chromeOptions from unknown error: unrecognized chrome option: profile」といわれてるので書き方が変わったのだろう
- 実行してみた限りでは削除してもいけたのでこれがないとだめっていうわけではないようだ
~ただの宣伝~
- 全国のSeleniumer必読
- Seleniumerといっていますが、Selenium, SauceLabs, Travis, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください