File tree Expand file tree Collapse file tree 4 files changed +28
-22
lines changed Expand file tree Collapse file tree 4 files changed +28
-22
lines changed Original file line number Diff line number Diff line change 11language : ruby
22sudo : required
33dist : trusty
4+ addons :
5+ chrome : stable
46cache :
57 bundler : true
68 yarn : true
@@ -32,9 +34,9 @@ matrix:
3234 - rvm : 2.1
3335 gemfile : gemfiles/rails_3.2.gemfile
3436 - rvm : 2.1
35- gemfile : rails_4.0.5.gemfile
37+ gemfile : gemfiles/ rails_4.0.5.gemfile
3638 - rvm : 2.1
37- gemfile : rails_4.0_with_therubyracer.gemfile
39+ gemfile : gemfiles/ rails_4.0_with_therubyracer.gemfile
3840 - rvm : 2.1
3941 gemfile : gemfiles/rails_4.2_sprockets_2.gemfile
4042 - rvm : 2.1
@@ -76,12 +78,6 @@ matrix:
7678 - rvm : jruby-9.1.9.0
7779
7880before_install :
79- - nvm install 7.8.0 && nvm use 7.8.0
80- - mkdir travis-phantomjs
81- - wget https://rmosolgo.github.io/assets/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
82- - tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
83- - export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
84- - phantomjs --version
8581 # Repo for Yarn
8682 - sudo apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg
8783 - echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ Then restart your development server.
9090
9191This will:
9292
93- - add some ` //= require ` s to ` application.js `
93+ - add some ` //= require ` s to ` application.js `
9494- add a ` components/ ` directory for React components
9595- add ` server_rendering.js ` for [ server-side rendering] ( #server-side-rendering )
9696
@@ -108,7 +108,7 @@ window.Post = React.createClass({
108108// or, equivalent:
109109class Post extends React .Component {
110110 render () {
111- return < h1> {this .props .title }< / h1>
111+ return < h1> {this .props .title }< / h1>
112112 }
113113}
114114```
@@ -483,6 +483,8 @@ You can also specify this option in `react_component`:
483483## Development
484484
485485- Run tests with ` rake test ` or ` appraisal rake test `
486+ - Integration tests run in Headless Chrome which is included in Chrome (59+ linux,OSX | 60+ Windows)
487+ - ChromeDriver is included with ` chromedriver-helper ` gem so no need to manually install that 👍
486488- Update React assets with ` rake react:update `
487489- Update the UJS with ` rake ujs:update `
488490- Releases:
Original file line number Diff line number Diff line change @@ -23,7 +23,9 @@ Gem::Specification.new do |s|
2323 s . add_development_dependency 'guard-minitest'
2424 s . add_development_dependency 'jbuilder'
2525 s . add_development_dependency 'listen' , '~> 3.0.0' # support Ruby 2.1
26- s . add_development_dependency 'poltergeist' , '>= 0.3.3'
26+ s . add_development_dependency 'chromedriver-helper'
27+ s . add_development_dependency 'capybara'
28+ s . add_development_dependency 'selenium-webdriver'
2729 s . add_development_dependency 'test-unit' , '~> 2.5'
2830 s . add_development_dependency 'rails' , '>= 3.2'
2931
Original file line number Diff line number Diff line change 2929require 'pathname'
3030require 'minitest/mock'
3131require 'capybara/rails'
32- require 'capybara/poltergeist '
32+ require 'selenium/webdriver '
3333Dummy ::Application . load_tasks
3434
3535WebpackerHelpers . clear_webpacker_packs
3636
3737Capybara . app = Rails . application
3838
39- Capybara . register_driver :poltergeist_debug do |app |
40- poltergeist_options = {
41- # `page.driver.debug` will cause Poltergeist to open a browser window
42- inspector : true ,
43- # hide warnings from React.js whitespace changes:
44- # and from React.createClass deprecation
45- js_errors : false
46- }
47- Capybara ::Poltergeist ::Driver . new ( app , poltergeist_options )
39+
40+ Capybara . register_driver :chrome do |app |
41+ Capybara ::Selenium ::Driver . new ( app , browser : :chrome )
4842end
49- Capybara . javascript_driver = :poltergeist_debug
43+
44+ Capybara . register_driver :headless_chrome do |app |
45+ capabilities = Selenium ::WebDriver ::Remote ::Capabilities . chrome (
46+ chromeOptions : { args : %w( headless disable-gpu ) }
47+ )
48+
49+ Capybara ::Selenium ::Driver . new ( app ,
50+ browser : :chrome ,
51+ desired_capabilities : capabilities
52+ )
53+ end
54+
55+ Capybara . javascript_driver = :headless_chrome
5056Capybara . current_driver = Capybara . javascript_driver
5157
5258CACHE_PATH = Pathname . new File . expand_path ( "../#{ DUMMY_LOCATION } /tmp/cache" , __FILE__ )
You can’t perform that action at this time.
0 commit comments