Skip to content

Commit

Permalink
PhantomJS is abandoned, replace it with Selenium/Chrome headless
Browse files Browse the repository at this point in the history
  • Loading branch information
guilleiguaran committed Oct 19, 2017
1 parent b7bf709 commit 4dcf12a
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 151 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ services:


addons: addons:
postgresql: "9.6" postgresql: "9.6"
chrome: stable
apt: apt:
sources: sources:
- sourceline: "ppa:mc3man/trusty-media" - sourceline: "ppa:mc3man/trusty-media"
Expand All @@ -34,7 +35,6 @@ before_install:
- "[[ $GEM != 'av:ujs' ]] || nvm install node" - "[[ $GEM != 'av:ujs' ]] || nvm install node"
- "[[ $GEM != 'av:ujs' ]] || node --version" - "[[ $GEM != 'av:ujs' ]] || node --version"
- "[[ $GEM != 'av:ujs' ]] || (cd actionview && npm install)" - "[[ $GEM != 'av:ujs' ]] || (cd actionview && npm install)"
- "[[ $GEM != 'av:ujs' ]] || [[ $(phantomjs --version) > '2' ]] || npm install -g phantomjs-prebuilt"


before_script: before_script:
# Set Sauce Labs username and access key. Obfuscated, purposefully not encrypted. # Set Sauce Labs username and access key. Obfuscated, purposefully not encrypted.
Expand Down
5 changes: 5 additions & 0 deletions Gemfile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -102,6 +102,11 @@ group :storage do
gem "mini_magick" gem "mini_magick"
end end


group :ujs do
gem "qunit-selenium"
gem "chromedriver-helper"
end

# Add your own local bundler stuff. # Add your own local bundler stuff.
local_gemfile = File.expand_path(".Gemfile", __dir__) local_gemfile = File.expand_path(".Gemfile", __dir__)
instance_eval File.read local_gemfile if File.exist? local_gemfile instance_eval File.read local_gemfile if File.exist? local_gemfile
Expand Down
11 changes: 11 additions & 0 deletions Gemfile.lock
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -136,6 +136,8 @@ GEM
addressable (2.5.1) addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2) public_suffix (~> 2.0, >= 2.0.2)
amq-protocol (2.2.0) amq-protocol (2.2.0)
archive-zip (0.7.0)
io-like (~> 0.3.0)
ast (2.3.0) ast (2.3.0)
aws-partitions (1.20.0) aws-partitions (1.20.0)
aws-sdk-core (3.3.0) aws-sdk-core (3.3.0)
Expand Down Expand Up @@ -199,6 +201,9 @@ GEM
xpath (~> 2.0) xpath (~> 2.0)
childprocess (0.7.1) childprocess (0.7.1)
ffi (~> 1.0, >= 1.0.11) ffi (~> 1.0, >= 1.0.11)
chromedriver-helper (1.1.0)
archive-zip (~> 0.7.0)
nokogiri (~> 1.6)
coffee-rails (4.2.2) coffee-rails (4.2.2)
coffee-script (>= 2.2.0) coffee-script (>= 2.2.0)
railties (>= 4.0.0) railties (>= 4.0.0)
Expand Down Expand Up @@ -289,6 +294,7 @@ GEM
http_parser.rb (0.6.0) http_parser.rb (0.6.0)
httpclient (2.8.3) httpclient (2.8.3)
i18n (0.8.6) i18n (0.8.6)
io-like (0.3.0)
jmespath (1.3.1) jmespath (1.3.1)
json (2.1.0) json (2.1.0)
jwt (1.5.6) jwt (1.5.6)
Expand Down Expand Up @@ -356,6 +362,9 @@ GEM
public_suffix (2.0.5) public_suffix (2.0.5)
puma (3.9.1) puma (3.9.1)
que (0.14.0) que (0.14.0)
qunit-selenium (0.0.4)
selenium-webdriver
thor
racc (1.4.14) racc (1.4.14)
rack (2.0.3) rack (2.0.3)
rack-cache (1.7.0) rack-cache (1.7.0)
Expand Down Expand Up @@ -498,6 +507,7 @@ DEPENDENCIES
bootsnap (>= 1.1.0) bootsnap (>= 1.1.0)
byebug byebug
capybara (~> 2.15) capybara (~> 2.15)
chromedriver-helper
coffee-rails coffee-rails
dalli (>= 2.2.1) dalli (>= 2.2.1)
delayed_job delayed_job
Expand All @@ -520,6 +530,7 @@ DEPENDENCIES
puma puma
que que
queue_classic! queue_classic!
qunit-selenium
racc (>= 1.4.6) racc (>= 1.4.6)
rack-cache (~> 1.2) rack-cache (~> 1.2)
rails! rails!
Expand Down
2 changes: 1 addition & 1 deletion actionview/Rakefile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ namespace :test do
end end
end end


system("npm run lint && phantomjs ../ci/phantomjs.js http://localhost:4567/") system("npm run lint && bundle exec ruby ../ci/qunit-selenium-runner.rb http://localhost:4567/")
status = $?.to_i status = $?.to_i
ensure ensure
Process.kill("KILL", pid) if pid Process.kill("KILL", pid) if pid
Expand Down
149 changes: 0 additions & 149 deletions ci/phantomjs.js

This file was deleted.

13 changes: 13 additions & 0 deletions ci/qunit-selenium-runner.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'qunit/selenium/test_runner'
require 'chromedriver/helper'

driver_options = Selenium::WebDriver::Chrome::Options.new
driver_options.add_argument('--headless')
driver_options.add_argument('--disable-gpu')

driver = ::Selenium::WebDriver.for(:chrome, options: driver_options)
result = QUnit::Selenium::TestRunner.new(driver).open(ARGV[0], timeout: 60)
driver.quit

puts "Time: #{result.duration} seconds, Total: #{result.tests[:total]}, Passed: #{result.tests[:passed]}, Failed: #{result.tests[:failed]}"
exit(result.tests[:failed] > 0 ? 1 : 0)

0 comments on commit 4dcf12a

Please sign in to comment.