LoginSignup
0
0

More than 5 years have passed since last update.

ciでfeature specを動かす

Posted at

feature specがciで動作しませんでした。そのため全てがpending状態で不安の中開発をしていました。
そろそろ動くようにしないと自分の精神状態がやばくなりそうだったので修正しました。

capybaraとselenium-webdriveのupdate

バージョンがかなり古くなっていたため更新しました。

bundle update selenium-webdrive capybara

dockerのimage

nodeやyarnが入っていると書いてあったので

- image: circleci/ruby:2.4.2-node-browsers

こちらを設定

エラーが変わった

初めのエラーはformatがないというエラーだったのですが、今度は

session not created: Chrome version must be >= 68.0.3440.0
  (Driver info: chromedriver=2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac),platform=Linux 4.4.0-134-generic x86_64)

検索するとよく見るエラーに変わりました。chromedriverが2.42なのでchromeのバージョンは68.0.344以上にしてねということです。
最初見たときはバージョンが66も違うじゃんと思いましたがとんでもない勘違いでした。
http://chromedriver.chromium.org/downloads
chromedriver2.42は Chrome v68-70をサポートしていますということだったんですね。相変わらず愚かです。

chromeを入れてwebdriver固定

2.42にバージョンを固定しつつ新しいchromeを入れるということにしました。今のところ68以上だったら問題ないはずですがここもバージョンが合わなくなってきたらchromedriverをupdateしたらいいのかな?

 run:
     name: webdriver version set
     command: bundle exec chromedriver-update 2.42
 run:
     name: install latest chrome
     command: |
         sudo apt-get update
         sudo apt-get install lsb-release libappindicator3-1
         curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
         sudo dpkg -i google-chrome.deb
         sudo sed -i 's|HERE/chrome"|HERE/chrome" --no-sandbox|g' /opt/google/chrome/google-chrome
         rm google-chrome.deb

とりあえずtestを実行したいからこのままで

あとは微調整

manifest.jsonがないとか, 先にcompileしようとか, FactoryBotの書き方が古かったりとかで色々エラーが出ましたがついに動作するようになりました。
とりあえずpendingを解除するか...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0