Skip to content

Commit d6352cb

Browse files
committed
Switching to chromedriver for tests.
1 parent 059ad1e commit d6352cb

File tree

5 files changed

+18
-13
lines changed

5 files changed

+18
-13
lines changed

.travis.yml

+1-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ rvm:
44
- 2.5.0
55
- 2.6.0
66
addons:
7-
firefox: latest
7+
chrome: stable
88
gemfile:
99
- gemfiles/rails_5.gemfile
1010
- gemfiles/rails_6.gemfile
@@ -16,9 +16,6 @@ env:
1616
before_script:
1717
- sh -e /etc/init.d/xvfb start
1818
- npm install -g istanbul
19-
- wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
20-
- mkdir geckodriver && tar -xzf geckodriver-v0.19.1-linux64.tar.gz -C geckodriver
21-
- export PATH=$PATH:$PWD/geckodriver
2219
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
2320
- chmod +x ./cc-test-reporter
2421
- ./cc-test-reporter before-build

Gemfile

-8
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,12 @@ gemspec name: "teaspoon"
55
gemspec name: "teaspoon-devkit"
66

77
gem "rails"
8-
gem "puma"
98

109
# frameworks
1110
gem "teaspoon-jasmine", path: "teaspoon-jasmine"
1211
gem "teaspoon-mocha", path: "teaspoon-mocha"
1312
gem "teaspoon-qunit", path: "teaspoon-qunit"
1413

15-
# gems that teaspoon can utilize
16-
gem "selenium-webdriver"
17-
18-
# test dependencies
19-
gem "rspec-rails"
20-
gem "simplecov"
21-
2214
# services
2315
gem "rubocop", require: false
2416
gem "rubocop-rails_config"

spec/spec_helper.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@
4242
end
4343

4444
config.before(:each, browser: true) do
45-
Capybara.current_driver = Capybara.javascript_driver
45+
Capybara.current_driver = Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", "chrome_headless").to_sym
4646
end
4747
end

spec/support/capybara.rb

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require "webdrivers"
2+
3+
def register_driver(name, args = [], opts = {})
4+
Capybara.register_driver(name) do |app|
5+
options = { args: args + ["window-size=1440,1080"] }
6+
options[:binary] = ENV.fetch("GOOGLE_CHROME_SHIM", nil)
7+
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: options.compact)
8+
Capybara::Selenium::Driver.new(app, { browser: :chrome, desired_capabilities: capabilities }.merge(opts))
9+
end
10+
end
11+
12+
register_driver(:chrome)
13+
register_driver(:chrome_headless, %w[headless disable-gpu no-sandbox disable-dev-shm-usage])

teaspoon-devkit.gemspec

+3
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,13 @@ Gem::Specification.new do |s|
2323
s.add_dependency "jquery-rails"
2424

2525
# test dependencies
26+
s.add_dependency "puma"
2627
s.add_dependency "rspec-rails"
28+
s.add_dependency "webdrivers"
2729
s.add_dependency "capybara"
2830
s.add_dependency "aruba"
2931
s.add_dependency "appraisal"
32+
s.add_dependency "simplecov"
3033

3134
# for local bundle installs
3235
s.add_dependency "jbuilder"

0 commit comments

Comments
 (0)