From 362db096fe320692fe03f38a0c821151223ba6ab Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Thu, 14 Feb 2019 21:07:05 +0100 Subject: [PATCH 1/3] upgrade capybara and chromedriver-helper --- Gemfile | 8 ++++---- Gemfile.lock | 37 ++++++++++++++++++------------------- spec/spec_helper.rb | 11 +++-------- 3 files changed, 25 insertions(+), 31 deletions(-) diff --git a/Gemfile b/Gemfile index be0f9309f..d7371516b 100644 --- a/Gemfile +++ b/Gemfile @@ -60,10 +60,10 @@ group :test do gem "database_cleaner", '1.6.2' gem 'shoulda-matchers', '~> 3.1.2' gem 'fabrication' - gem 'faker' - gem 'capybara', '~> 2.7' - gem 'capybara-selenium', '~> 0.0.6' - gem 'chromedriver-helper', '~> 1.0' + gem 'faker', '~> 1.9' + gem 'capybara', '~> 3.13' + gem 'selenium-webdriver', '~> 3.141' + gem 'chromedriver-helper', '~> 2.1' end group :production do diff --git a/Gemfile.lock b/Gemfile.lock index bb95fa0ac..bc228d404 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -86,19 +86,17 @@ GEM capistrano-rbenv (2.1.3) capistrano (~> 3.1) sshkit (~> 1.3) - capybara (2.18.0) + capybara (3.13.2) addressable mini_mime (>= 0.1.3) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (>= 2.0, < 4.0) - capybara-selenium (0.0.6) - capybara - selenium-webdriver + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (~> 1.2) + xpath (~> 3.2) childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) - chromedriver-helper (1.2.0) + chromedriver-helper (2.1.0) archive-zip (~> 0.10) nokogiri (~> 1.8) chronic (0.10.2) @@ -149,11 +147,11 @@ GEM tzinfo execjs (2.6.0) fabrication (2.11.3) - faker (1.4.3) - i18n (~> 0.5) + faker (1.9.3) + i18n (>= 0.7) faraday (0.9.1) multipart-post (>= 1.2, < 3) - ffi (1.9.25) + ffi (1.10.0) formtastic (3.1.5) actionpack (>= 3.2.13) formtastic_i18n (0.6.0) @@ -288,6 +286,7 @@ GEM polyamorous (~> 1.3.2) rdiscount (2.1.7.1) redis (4.0.1) + regexp_parser (1.3.0) responders (2.4.0) actionpack (>= 4.2.0, < 5.3) railties (>= 4.2.0, < 5.3) @@ -334,9 +333,9 @@ GEM tilt (>= 1.1, < 3) select2-rails (4.0.1) thor (~> 0.14) - selenium-webdriver (3.11.0) + selenium-webdriver (3.141.0) childprocess (~> 0.5) - rubyzip (~> 1.2) + rubyzip (~> 1.2, >= 1.2.2) shoulda-matchers (3.1.2) activesupport (>= 4.0.0) sidekiq (5.1.3) @@ -390,7 +389,7 @@ GEM sprockets-rails (>= 2.0, < 4.0) whenever (0.9.4) chronic (>= 0.6.3) - xpath (3.0.0) + xpath (3.2.0) nokogiri (~> 1.8) PLATFORMS @@ -406,9 +405,8 @@ DEPENDENCIES capistrano (~> 3.1) capistrano-rails (~> 1.1) capistrano-rbenv (~> 2.1) - capybara (~> 2.7) - capybara-selenium (~> 0.0.6) - chromedriver-helper (~> 1.0) + capybara (~> 3.13) + chromedriver-helper (~> 2.1) coffee-rails dalli database_cleaner (= 1.6.2) @@ -417,7 +415,7 @@ DEPENDENCIES elasticsearch-model elasticsearch-rails fabrication - faker + faker (~> 1.9) has_scope hstore_translate http_accept_language (~> 2.1.1) @@ -439,6 +437,7 @@ DEPENDENCIES rufus-scheduler (~> 3.4.2) sass-rails (~> 5.0.7) select2-rails + selenium-webdriver (~> 3.141) shoulda-matchers (~> 3.1.2) sidekiq (= 5.1.3) sidekiq-cron (= 0.6.3) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 894bd9ac4..fac37f2e5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -8,16 +8,12 @@ require 'capybara/rspec' require 'database_cleaner' require 'fabrication' +require 'chromedriver-helper' require 'selenium/webdriver' require 'faker' require 'shoulda/matchers' -I18n.reload! - -Capybara.register_driver :chrome do |app| - Capybara::Selenium::Driver.new(app, browser: :chrome) -end - +Capybara.server = :webrick Capybara.register_driver :headless_chrome do |app| capabilities = Selenium::WebDriver::Remote::Capabilities.chrome( chromeOptions: { args: %w(headless disable-gpu) } @@ -29,9 +25,8 @@ desired_capabilities: capabilities ) end - -Capybara.javascript_driver = :headless_chrome Capybara.default_driver = :headless_chrome +Capybara.javascript_driver = Capybara.default_driver # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. From ac2e1cbcfa7be674a151af05784561ae8304f538 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Thu, 14 Feb 2019 21:48:56 +0100 Subject: [PATCH 2/3] capybara: use newer selenium api to configure headless chrome driver --- spec/spec_helper.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index fac37f2e5..946559b7a 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -15,14 +15,14 @@ Capybara.server = :webrick Capybara.register_driver :headless_chrome do |app| - capabilities = Selenium::WebDriver::Remote::Capabilities.chrome( - chromeOptions: { args: %w(headless disable-gpu) } + browser_options = Selenium::WebDriver::Chrome::Options.new( + args: %w(headless disable-gpu no-sandbox) ) Capybara::Selenium::Driver.new( app, browser: :chrome, - desired_capabilities: capabilities + options: browser_options ) end Capybara.default_driver = :headless_chrome From a681c79045ed1c4dc3d59bbacc8fd9216ea611d7 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 6 Mar 2019 22:27:43 +0100 Subject: [PATCH 3/3] upgrade rspec-rails and dotenv-rails to latest stable version --- Gemfile | 4 ++-- Gemfile.lock | 36 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Gemfile b/Gemfile index d7371516b..2f4bb81a2 100644 --- a/Gemfile +++ b/Gemfile @@ -48,15 +48,15 @@ group :development do gem 'airbrussh', require: false gem 'localeapp', '2.1.1', require: false gem 'letter_opener', '1.4.1' - gem 'dotenv-rails', '2.5.0' + gem 'dotenv-rails', '~> 2.7.1' end group :development, :test do - gem "rspec-rails", '~> 3.7.2' gem "byebug" end group :test do + gem "rspec-rails", '~> 3.8.2' gem "database_cleaner", '1.6.2' gem 'shoulda-matchers', '~> 3.1.2' gem 'fabrication' diff --git a/Gemfile.lock b/Gemfile.lock index bc228d404..6d0cfa9fe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -124,10 +124,10 @@ GEM diff-lcs (1.3) domain_name (0.5.20170223) unf (>= 0.0.5, < 1.0.0) - dotenv (2.5.0) - dotenv-rails (2.5.0) - dotenv (= 2.5.0) - railties (>= 3.2, < 6.0) + dotenv (2.7.1) + dotenv-rails (2.7.1) + dotenv (= 2.7.1) + railties (>= 3.2, < 6.1) elasticsearch (1.0.8) elasticsearch-api (= 1.0.7) elasticsearch-transport (= 1.0.7) @@ -296,23 +296,23 @@ GEM netrc (~> 0.8) rollbar (2.8.3) multi_json - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) + rspec-core (3.8.0) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-rails (3.7.2) + rspec-support (~> 3.8.0) + rspec-rails (3.8.2) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-support (~> 3.7.0) - rspec-support (3.7.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-support (~> 3.8.0) + rspec-support (3.8.0) rubocop (0.52.1) parallel (~> 1.10) parser (>= 2.4.0.2, < 3.0) @@ -411,7 +411,7 @@ DEPENDENCIES dalli database_cleaner (= 1.6.2) devise (~> 4.5.0) - dotenv-rails (= 2.5.0) + dotenv-rails (~> 2.7.1) elasticsearch-model elasticsearch-rails fabrication @@ -432,7 +432,7 @@ DEPENDENCIES rails_12factor (= 0.0.3) rdiscount rollbar (= 2.8.3) - rspec-rails (~> 3.7.2) + rspec-rails (~> 3.8.2) rubocop (~> 0.52.1) rufus-scheduler (~> 3.4.2) sass-rails (~> 5.0.7)