File tree Expand file tree Collapse file tree 8 files changed +74
-31
lines changed
lib/capybara/chromedriver Expand file tree Collapse file tree 8 files changed +74
-31
lines changed Original file line number Diff line number Diff line change 1
- 2.5.1
1
+ 2.6.5
Original file line number Diff line number Diff line change 1
1
sudo : false
2
2
language : ruby
3
3
addons :
4
- apt :
5
- sources :
6
- - google-chrome
7
- packages :
8
- - google-chrome-stable
4
+ chrome : stable
9
5
rvm :
10
- - 2.4.1
6
+ - 2.6.5
11
7
before_install : gem install bundler -v 1.16.0
Original file line number Diff line number Diff line change 10
10
specs:
11
11
addressable (2.5.2 )
12
12
public_suffix (>= 2.0.2 , < 4.0 )
13
- archive-zip (0.11.0 )
14
- io-like (~> 0.3.0 )
15
13
capybara (2.18.0 )
16
14
addressable
17
15
mini_mime (>= 0.1.3 )
21
19
xpath (>= 2.0 , < 4.0 )
22
20
childprocess (0.8.0 )
23
21
ffi (~> 1.0 , >= 1.0.11 )
24
- chromedriver-helper (1.2.0 )
25
- archive-zip (~> 0.10 )
26
- nokogiri (~> 1.8 )
27
22
coderay (1.1.2 )
28
23
colorize (0.8.1 )
29
24
diff-lcs (1.3 )
30
25
ffi (1.9.21 )
31
26
gem-release (2.0.1 )
32
- io-like (0.3.0 )
33
27
method_source (0.9.0 )
34
28
mini_mime (1.0.0 )
35
- mini_portile2 (2.3 .0 )
36
- nokogiri (1.8.2 )
37
- mini_portile2 (~> 2.3 .0 )
29
+ mini_portile2 (2.4 .0 )
30
+ nokogiri (1.10.8 )
31
+ mini_portile2 (~> 2.4 .0 )
38
32
pry (0.11.3 )
39
33
coderay (~> 1.1.0 )
40
34
method_source (~> 0.9.0 )
41
35
public_suffix (3.0.2 )
42
- rack (2.0.4 )
36
+ rack (2.0.8 )
43
37
rack-test (1.0.0 )
44
38
rack (>= 1.0 , < 3 )
45
- rake (10.5.0 )
39
+ rake (13.0.1 )
46
40
rspec (3.7.0 )
47
41
rspec-core (~> 3.7.0 )
48
42
rspec-expectations (~> 3.7.0 )
62
56
rubyzip (~> 1.2 )
63
57
stub_server (0.2.1 )
64
58
rack
59
+ webdrivers (4.1.2 )
60
+ nokogiri (~> 1.6 )
61
+ rubyzip (~> 1.0 )
62
+ selenium-webdriver (>= 3.0 , < 4.0 )
65
63
xpath (3.0.0 )
66
64
nokogiri (~> 1.8 )
67
65
@@ -71,13 +69,13 @@ PLATFORMS
71
69
DEPENDENCIES
72
70
bundler (~> 1.16 )
73
71
capybara-chromedriver-logger !
74
- chromedriver-helper
75
72
gem-release
76
73
pry
77
- rake (~> 10 .0 )
74
+ rake (~> 13 .0 )
78
75
rspec (~> 3.0 )
79
76
selenium-webdriver
80
77
stub_server
78
+ webdrivers (~> 4.0 )
81
79
82
80
BUNDLED WITH
83
- 1.16.2
81
+ 1.17.3
Original file line number Diff line number Diff line change @@ -36,10 +36,12 @@ You'll want to modify your `spec_helper.rb` file to configure Capybara correctly
36
36
37
37
``` ruby
38
38
Capybara .register_driver(:chrome ) do |app |
39
- # Turn on browser logs
40
- capabilities = Selenium ::WebDriver ::Remote ::Capabilities .chrome(
41
- loggingPrefs: {
42
- browser: ' ALL'
39
+ # option 1:
40
+ # This wraps Selenium::WebDriver::Remote::Capabilities.chrome() with the
41
+ # correct settings for logging.
42
+ capabilities = Capybara ::Chromedriver ::Logger .build_capabilities(
43
+ chromeOptions: {
44
+ args: %w[headless]
43
45
}
44
46
)
45
47
@@ -65,6 +67,29 @@ RSpec.configure do |config|
65
67
end
66
68
```
67
69
70
+ If you don't want to use the capability wrapper above for any reason, you can
71
+ still manually configure things:
72
+
73
+ ``` ruby
74
+ # option 2: manual setup
75
+ # Turn on browser logs
76
+ capabilities = Selenium ::WebDriver ::Remote ::Capabilities .chrome(
77
+ chromeOptions: {
78
+ args: %w[headless] ,
79
+ # required for Chrome 75+
80
+ w3c: false
81
+ },
82
+ # For up to Chrome 74
83
+ loggingPrefs: {
84
+ browser: ' ALL'
85
+ }
86
+ # for Chrome 75+
87
+ " goog:loggingPrefs" => {
88
+ browser: ' ALL'
89
+ }
90
+ )
91
+ ```
92
+
68
93
## Configuration
69
94
70
95
Here are examples of the supported configuration options:
Original file line number Diff line number Diff line change @@ -33,11 +33,11 @@ Gem::Specification.new do |spec|
33
33
spec . add_dependency "colorize"
34
34
35
35
spec . add_development_dependency "bundler" , "~> 1.16"
36
- spec . add_development_dependency "chromedriver-helper"
37
36
spec . add_development_dependency "gem-release"
38
37
spec . add_development_dependency "pry"
39
- spec . add_development_dependency "rake" , "~> 10 .0"
38
+ spec . add_development_dependency "rake" , "~> 13 .0"
40
39
spec . add_development_dependency "rspec" , "~> 3.0"
41
40
spec . add_development_dependency "selenium-webdriver"
42
41
spec . add_development_dependency "stub_server"
42
+ spec . add_development_dependency 'webdrivers' , '~> 4.0'
43
43
end
Original file line number Diff line number Diff line change @@ -12,6 +12,31 @@ module Chromedriver
12
12
module Logger
13
13
extend self
14
14
15
+ def build_capabilities ( loggingPrefs : { browser : 'ALL' } , **options )
16
+ options [ :chromeOptions ] ||= { }
17
+
18
+ if options [ :chromeOptions ] [ :w3c ]
19
+ warn "warning: Setting chromeOptions.w3c to true makes it not " \
20
+ "possible to get console.log messages from Chrome.\n \n " \
21
+ "Please see: https://github.com/SeleniumHQ/selenium/issues/7270"
22
+ else
23
+ options [ :chromeOptions ] [ :w3c ] = false
24
+ end
25
+
26
+ if loggingPrefs [ :browser ] != 'ALL'
27
+ warn "warning: loggingPrefs needs to contain { browser: 'ALL' } " \
28
+ "when using Logger#build_capabilities"
29
+ end
30
+
31
+ options [ :loggingPrefs ] = loggingPrefs
32
+
33
+ # Support Chrome 75+
34
+ # see: https://github.com/SeleniumHQ/selenium/issues/7342
35
+ options [ "goog:loggingPrefs" ] = loggingPrefs
36
+
37
+ ::Selenium ::WebDriver ::Remote ::Capabilities . chrome ( options )
38
+ end
39
+
15
40
def filters
16
41
@filters || [ ]
17
42
end
Original file line number Diff line number Diff line change
1
+ require "pry"
1
2
require "bundler/setup"
3
+ require "webdrivers/chromedriver"
2
4
require "capybara/chromedriver/logger"
3
5
4
6
Dir . glob ( "spec/support/**/*.rb" ) { |f | require_relative "../#{ f } " }
Original file line number Diff line number Diff line change 20
20
--window-size=1600,1200
21
21
]
22
22
23
- capabilities = Selenium :: WebDriver :: Remote :: Capabilities . chrome (
23
+ capabilities = Capybara :: Chromedriver :: Logger . build_capabilities (
24
24
chromeOptions : {
25
25
args : args
26
- } ,
27
- loggingPrefs : {
28
- browser : 'ALL'
29
26
}
30
27
)
31
28
You can’t perform that action at this time.
0 commit comments