naichi's lab

3日後の自分(他人)への書き置き

MacにChromeDriverを入れる

f:id:naichilab:20180209212201p:plain

やりたいこと

RSpec+Capybaraによるfeatureテストでスクリーンショットを保存したかった

エラーについて

qiita.com

こちらの記事を参考に、page.save_screenshot を呼び出したら

Selenium::WebDriver::Error::WebDriverError:
  Unable to find chromedriver. 
  Please download the server from 
    http://chromedriver.storage.googleapis.com/index.html 
  and place it somewhere on your PATH. 
  More info at 
    https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver.

ってエラーになった。

ChromeDriverを入れよう

追記にてbrewでインストールしてます。

ダウンロード

エラーに書かれてる通り http://chromedriver.storage.googleapis.com/index.html ここから、

f:id:naichilab:20180210143734p:plain:w320

最新版(現時点では2.35だった)へ

自分はMac版をダウンロード

f:id:naichilab:20180210143831p:plain:w320

インストール

Rubyの場所を確認し、

> which ruby
/Users/naichi/.rbenv/shims/ruby

ダウンロードした chromedriver を同じ場所に移動

テスト再実行

撮れた!!

f:id:naichilab:20180210144839p:plain:w320

ChromeDriver、バージョン見る限り頻繁に更新されてそうなのでたまに差し替える必要がありそうですね。

追記

rbenv使ってるからだと思うんですが、 /Users/naichi/.rbenv/shims/rubychromedriver を入れても定期的に消えてしまいました。

brewでインストール

> brew install chromedriver
Error: Your Xcode (8.3.3) is too outdated.
Please update to Xcode 9.2 (or delete it).
Xcode can be updated from the App Store.

ひぃ。

AppStoreでXCodeアップデート。(空き容量が15Gぐらい必要だった・・・)

完了。

さらに追記 @ 2019-02-01

新しいMacで brew install chromedriver したら

> brew install chromedriver                                                                                                                                                         Error: No available formula with the name "chromedriver"
It was migrated from homebrew/core to homebrew/cask.
You can access it again by running:
  brew tap homebrew/cask
And then you can install it by running:
  brew cask install chromedriver

書かれてる通り

brew tap homebrew/cask
brew cask install chromedriver

でインストールできました。