Skip to content

Commit

Permalink
Replace selenium-webdriver with apparition
Browse files Browse the repository at this point in the history
Apparition is modern, uses chrome headleass without requiring
chromedriver, and is developed by the current maintainer of capybara.
  • Loading branch information
elia committed Nov 29, 2019
1 parent 12f958a commit 81b0f96
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 17 deletions.
3 changes: 1 addition & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### Added

- Adopted [Webdrivers](https://github.com/titusfortner/webdrivers) to keep Selenium WebDrivers
updated
- Adopted [Apparition](https://github.com/twalpole/apparition) as the deafult JS driver for Capybara
- Fix window size to 1920x1080px in feature specs

### Changed
Expand Down
19 changes: 6 additions & 13 deletions lib/solidus_extension_dev_tools/rspec/feature_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,14 @@
require 'solidus_extension_dev_tools/rspec/rails_helper'

require 'capybara-screenshot/rspec'
require 'webdrivers'
require 'selenium/webdriver'
require 'capybara/apparition'

Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :selenium_chrome_headless).to_sym
Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :apparition).to_sym
Capybara.default_max_wait_time = 10
Capybara.server = :webrick
Capybara.register_driver :selenium_chrome_headless do |app|
Capybara::Selenium::Driver.load_selenium
browser_options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
opts.args << '--headless'
opts.args << '--disable-gpu' if Gem.win_platform?
opts.args << '--disable-site-isolation-trials'
opts.args << '--window-size=1920,1080'
end
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897

Capybara.register_driver :apparition do |app|
Capybara::Apparition::Driver.new(app, window_size: [1920, 1080])
end

require 'spree/testing_support/capybara_ext'
Expand Down
4 changes: 2 additions & 2 deletions solidus_extension_dev_tools.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

spec.add_dependency 'apparition'
spec.add_dependency 'capybara', '~> 3.29'
spec.add_dependency 'capybara-screenshot', '~> 1.0'
spec.add_dependency 'codecov', '~> 0.1.16'
Expand All @@ -34,16 +35,15 @@ Gem::Specification.new do |spec|
spec.add_dependency 'ffaker', '~> 2.13'
spec.add_dependency 'gem-release', '~> 2.1'
spec.add_dependency 'github_changelog_generator', '~> 1.15'
spec.add_dependency 'puma'
spec.add_dependency 'rspec-rails', '~> 4.0.0.beta3'
spec.add_dependency 'rspec_junit_formatter'
spec.add_dependency 'rubocop', '~> 0.76.0'
spec.add_dependency 'rubocop-performance', '~> 1.5'
spec.add_dependency 'rubocop-rails', '~> 2.3'
spec.add_dependency 'rubocop-rspec', '~> 1.36'
spec.add_dependency 'selenium-webdriver', '~> 3.142'
spec.add_dependency 'solidus_core', ['>= 2.0', '< 3']
spec.add_dependency 'solidus_support', '~> 0.3.3'
spec.add_dependency 'webdrivers', '~> 4.1'

spec.add_development_dependency 'bundler'
spec.add_development_dependency 'rake'
Expand Down

0 comments on commit 81b0f96

Please # to comment.