1
0
Fork 0
mirror of https://github.com/teamcapybara/capybara.git synced 2022-11-09 12:08:07 -05:00

Update travis test configuration - include headless chrome

This commit is contained in:
Thomas Walpole 2017-05-02 09:35:08 -07:00
parent b08c19e85f
commit 2cd5e376d0
5 changed files with 50 additions and 27 deletions

View file

@ -2,6 +2,7 @@ language: ruby
sudo: required
dist: trusty
rvm:
- 2.4.1
- 2.3.3
- jruby-9.1.7.0
- rbx-3
@ -11,11 +12,11 @@ env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
- JAVA_OPTS=-Djava.security.egd=file:/dev/urandom
matrix:
- WINDOW_TEST=true
# matrix:
# - WINDOW_TEST=true
addons:
firefox: 47.0.1
firefox: latest
apt:
packages:
- awesome
@ -32,19 +33,42 @@ matrix:
packages:
- google-chrome-stable
- awesome
- gemfile: gemfiles/Gemfile.ruby-20
rvm: 2.0.0
- gemfile: gemfiles/Gemfile.ruby-19
rvm: 1.9.3
- gemfile: gemfiles/Gemfile.base-versions
rvm: 1.9.3
- gemfile: Gemfile
rvm: 2.4.1
env:
- WINDOW_TEST=true
- CAPYBARA_MARIONETTE=true
env: CAPYBARA_CHROME_HEADLESS=true
addons:
firefox: latest
apt:
sources:
- google-chrome
packages:
- google-chrome-stable
- awesome
- gemfile: gemfiles/Gemfile.ruby-20
env:
- CAPYBARA_LEGACY_FF=true
rvm: 2.0.0
addons:
firefox: 47.0.1
apt:
packages:
- awesome
- gemfile: gemfiles/Gemfile.ruby-19
env:
- CAPYBARA_LEGACY_FF=true
- SKIP_WINDOW=true
rvm: 1.9.3
addons:
firefox: 47.0.1
apt:
packages:
- awesome
- gemfile: gemfiles/Gemfile.base-versions
env:
- CAPYBARA_LEGACY_FF=true
- SKIP_WINDOW=true
rvm: 1.9.3
addons:
firefox: 47.0.1
apt:
packages:
- awesome
@ -55,14 +79,8 @@ matrix:
apt:
packages:
- awesome
env:
- WINDOW_TEST=true
- CAPYBARA_MARIONETTE=true
- gemfile: gemfiles/Gemfile.edge-marionette
rvm: 2.3.3
env:
- WINDOW_TEST=true
- CAPYBARA_MARIONETTE=true
addons:
firefox: latest-nightly
apt:
@ -73,9 +91,12 @@ matrix:
- gemfile: gemfiles/Gemfile.edge-marionette
- rvm: rbx-3
- rvm: jruby-9.1.7.0
- gemfile: Gemfile
rvm: 2.4.1
env: CAPYBARA_CHROME_HEADLESS=true
before_install:
- mkdir -p ~/drivers; export PATH=~/drivers:$PATH;
- if [ $CAPYBARA_CHROME ]; then
- if [ $CAPYBARA_CHROME ] || [ $CAPYBARA_CHROME_HEADLESS ]; then
CHROMEDRIVER_VERSION=$(wget -q -O - http://chromedriver.storage.googleapis.com/LATEST_RELEASE);
CHROMEDRIVER_URL="http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip";
FILE=`mktemp`; wget "$CHROMEDRIVER_URL" -qO $FILE && unzip $FILE chromedriver -d ~/drivers; rm $FILE; chmod 777 ~/drivers/chromedriver;

View file

@ -38,13 +38,13 @@ Cucumber::Rake::Task.new(:cucumber) do |task|
end
task :travis do |t|
if ENV['CAPYBARA_CHROME']
if ENV['CAPYBARA_CHROME'] || ENV['CAPYBARA_CHROME_HEADLESS']
Rake::Task[:spec_chrome].invoke
elsif ENV['CAPYBARA_MARIONETTE']
Rake::Task[:spec_marionette].invoke
elsif ENV['CAPYBARA_LEGACY_FF']
Rake::Task[:spec_firefox].invoke
Rake::Task[:cucumber].invoke
else
Rake::Task[:spec_firefox].invoke
Rake::Task[:spec_marionette].invoke
Rake::Task[:cucumber].invoke
end
end

View file

@ -5,11 +5,13 @@ require 'shared_selenium_session'
Capybara.register_driver :selenium_chrome do |app|
args = ENV['TRAVIS'] ? ['no-sandbox' ] : []
args << 'headless' if ENV['CAPYBARA_CHROME_HEADLESS']
Capybara::Selenium::Driver.new(app, :browser => :chrome, :args => args)
end
Capybara.register_driver :selenium_chrome_clear_storage do |app|
args = ENV['TRAVIS'] ? ['no-sandbox' ] : []
args << 'headless' if ENV['CAPYBARA_CHROME_HEADLESS']
Capybara::Selenium::Driver.new(app, :browser => :chrome,
:args => args,
clear_local_storage: true,
@ -21,7 +23,7 @@ module TestSessions
end
skipped_tests = [:response_headers, :status_code, :trigger]
skipped_tests << :windows if ENV['TRAVIS'] && !ENV['WINDOW_TEST']
skipped_tests << :windows if ENV['TRAVIS'] && ENV['SKIP_WINDOW']
Capybara::SpecHelper.run_specs TestSessions::Chrome, "selenium_chrome", capybara_skip: skipped_tests

View file

@ -31,7 +31,7 @@ skipped_tests = [
:status_code,
:trigger
]
skipped_tests << :windows if ENV['TRAVIS'] && !ENV['WINDOW_TEST']
skipped_tests << :windows if ENV['TRAVIS'] && ENV['SKIP_WINDOW']
Capybara::SpecHelper.run_specs TestSessions::Selenium, "selenium", capybara_skip: skipped_tests

View file

@ -31,7 +31,7 @@ skipped_tests = [
:status_code,
:trigger
]
skipped_tests << :windows if ENV['TRAVIS'] && !ENV['WINDOW_TEST']
skipped_tests << :windows if ENV['TRAVIS'] && ENV['SKIP_WINDOW']
Capybara::SpecHelper.run_specs TestSessions::SeleniumMarionette, "selenium", capybara_skip: skipped_tests