everydayrails / everydayrails-rspec-2017

Sample source for the 2017 edition of Everyday Rails Testing with RSpec.
http://rspectutorial.com
312 stars 247 forks source link

chromedriver-helper is out of support, use webdrivers gem instead #100

Closed JunichiIto closed 5 years ago

JunichiIto commented 5 years ago

Just FYI, chromedriver-helper is out of support.

https://github.com/flavorjones/chromedriver-helper

You can use webdrivers gem instead:

 group :test do
   # ...
-  gem 'chromedriver-helper'
+  gem 'webdrivers'
ruralocity commented 5 years ago

Thanks, this may be simple enough to swap in. I'll see if I can get to it this weekend.

ruralocity commented 5 years ago

I'm still working on this, but I ran across an issue tonight while replacing chromedriver-helper with webdrivers. After swapping out the gems, I kept getting the following failure on the JS-dependent test in the sample test suite (as it exists in the 06-features branch):

Failures:

  1) Tasks user toggles a task
     Failure/Error: visit root_path

     Net::HTTPServerException:
       404 "Not Found"
     # /Users/asumner/.rvm/gems/ruby-2.4.1/gems/webdrivers-3.7.1/lib/webdrivers/common.rb:109:in `get'
     # /Users/asumner/.rvm/gems/ruby-2.4.1/gems/webdrivers-3.7.1/lib/webdrivers/chromedriver.rb:26:in `latest_version'
     # /Users/asumner/.rvm/gems/ruby-2.4.1/gems/webdrivers-3.7.1/lib/webdrivers/common.rb:37:in `desired_version'
<... more stack trace ...>
     # ./spec/features/tasks_spec.rb:11:in `block (2 levels) in <top (required)>'
     # /Users/asumner/.rvm/gems/ruby-2.4.1/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `call'
     # -e:1:in `<main>'

Finished in 4.71 seconds (files took 0.59138 seconds to load)
46 examples, 1 failure

Failed examples:

rspec ./spec/features/tasks_spec.rb:4 # Tasks user toggles a task

I thought at first that root_path wasn't being recognized, but it turns out that the 404 was coming from Google's servers trying to download chromedriver from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_75.0.3745. I had a development version of Chrome installed (Version 75.0.3745.4 (Official Build) dev (64-bit)). When In uninstalled the dev version and replaced it with a regular version (Version 73.0.3683.86 (Official Build) (64-bit)) I was able to swap in webdrivers without issue.

I'm going to research this a little more before committing to the book. But in the meantime, if you try replacing chromedriver-helper with webdrivers and have issues, check which Chrome channel you're using.

ruralocity commented 5 years ago

I've got something ready to go for this, will release an update this weekend.

JunichiIto commented 5 years ago

Thank you for your update. I've updated and released the Japanese version too.

ruralocity commented 5 years ago

Great, and thanks again for letting me know about this. I will see if the dev channel Chrome issue I ran into has been reported yet, and file an issue on the webdrivers repo if necessary.