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 1
1
language : ruby
2
2
sudo : required
3
3
dist : trusty
4
+ addons :
5
+ chrome : stable
4
6
cache :
5
7
bundler : true
6
8
yarn : true
@@ -32,9 +34,9 @@ matrix:
32
34
- rvm : 2.1
33
35
gemfile : gemfiles/rails_3.2.gemfile
34
36
- rvm : 2.1
35
- gemfile : rails_4.0.5.gemfile
37
+ gemfile : gemfiles/ rails_4.0.5.gemfile
36
38
- rvm : 2.1
37
- gemfile : rails_4.0_with_therubyracer.gemfile
39
+ gemfile : gemfiles/ rails_4.0_with_therubyracer.gemfile
38
40
- rvm : 2.1
39
41
gemfile : gemfiles/rails_4.2_sprockets_2.gemfile
40
42
- rvm : 2.1
@@ -76,12 +78,6 @@ matrix:
76
78
- rvm : jruby-9.1.9.0
77
79
78
80
before_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
85
81
# Repo for Yarn
86
82
- sudo apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg
87
83
- 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.
90
90
91
91
This will:
92
92
93
- - add some ` //= require ` s to ` application.js `
93
+ - add some ` //= require ` s to ` application.js `
94
94
- add a ` components/ ` directory for React components
95
95
- add ` server_rendering.js ` for [ server-side rendering] ( #server-side-rendering )
96
96
@@ -108,7 +108,7 @@ window.Post = React.createClass({
108
108
// or, equivalent:
109
109
class Post extends React .Component {
110
110
render () {
111
- return < h1> {this .props .title }< / h1>
111
+ return < h1> {this .props .title }< / h1>
112
112
}
113
113
}
114
114
```
@@ -483,6 +483,8 @@ You can also specify this option in `react_component`:
483
483
## Development
484
484
485
485
- 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 👍
486
488
- Update React assets with ` rake react:update `
487
489
- Update the UJS with ` rake ujs:update `
488
490
- Releases:
Original file line number Diff line number Diff line change @@ -23,7 +23,9 @@ Gem::Specification.new do |s|
23
23
s . add_development_dependency 'guard-minitest'
24
24
s . add_development_dependency 'jbuilder'
25
25
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'
27
29
s . add_development_dependency 'test-unit' , '~> 2.5'
28
30
s . add_development_dependency 'rails' , '>= 3.2'
29
31
Original file line number Diff line number Diff line change 29
29
require 'pathname'
30
30
require 'minitest/mock'
31
31
require 'capybara/rails'
32
- require 'capybara/poltergeist '
32
+ require 'selenium/webdriver '
33
33
Dummy ::Application . load_tasks
34
34
35
35
WebpackerHelpers . clear_webpacker_packs
36
36
37
37
Capybara . app = Rails . application
38
38
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 )
48
42
end
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
50
56
Capybara . current_driver = Capybara . javascript_driver
51
57
52
58
CACHE_PATH = Pathname . new File . expand_path ( "../#{ DUMMY_LOCATION } /tmp/cache" , __FILE__ )
You can’t perform that action at this time.
0 commit comments