capybara-chromedriver-logger 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +2 -6
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +27 -27
- data/README.md +29 -4
- data/capybara-chromedriver-logger.gemspec +2 -2
- data/lib/capybara/chromedriver/logger.rb +25 -0
- data/lib/capybara/chromedriver/logger/collector.rb +5 -2
- data/lib/capybara/chromedriver/logger/version.rb +1 -1
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68085b1dbc94aa5b82471943475394993948fe989166e16ab924a2530503c184
|
4
|
+
data.tar.gz: 95c921822830bc941a17c0c186ae9ff16e5a7591f8e4a56a125f91dca48a8b30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d1f78c3de46714021eeda7bd243b09c7b6f529379ffe901389561adee6b99c4607fe60338e7236be96e8884a83e59d787fb41e90c41570b7089623a9a5194e3
|
7
|
+
data.tar.gz: 94cd2d17f4a360595874e15f85293b132bb5cc61f3c09357a52e4403c46d0c00f791f42ddf9d4f60f4dd23ae0ab817189c8004c9d1beb32920eba1c590956d30
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.5
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.3.0 [March 21, 2020]
|
2
|
+
|
3
|
+
* Prevent errors from being raised if they match a filter
|
4
|
+
* Added instructions to the README about dealing with new versions of Chrome
|
5
|
+
* Added a new `#build_capabilities` method to wrap the Capabilities configuration
|
6
|
+
|
1
7
|
# 0.2.1 [June 23, 2018]
|
2
8
|
|
3
9
|
* Added `filter_levels` option for filtering by log level (closes #4)
|
data/Gemfile.lock
CHANGED
@@ -1,48 +1,44 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
capybara-chromedriver-logger (0.
|
4
|
+
capybara-chromedriver-logger (0.3.0)
|
5
5
|
capybara
|
6
6
|
colorize
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
13
|
-
|
14
|
-
io-like (~> 0.3.0)
|
15
|
-
capybara (2.18.0)
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
|
+
capybara (3.31.0)
|
16
14
|
addressable
|
17
15
|
mini_mime (>= 0.1.3)
|
18
|
-
nokogiri (
|
19
|
-
rack (>= 1.
|
20
|
-
rack-test (>= 0.
|
21
|
-
|
16
|
+
nokogiri (~> 1.8)
|
17
|
+
rack (>= 1.6.0)
|
18
|
+
rack-test (>= 0.6.3)
|
19
|
+
regexp_parser (~> 1.5)
|
20
|
+
xpath (~> 3.2)
|
22
21
|
childprocess (0.8.0)
|
23
22
|
ffi (~> 1.0, >= 1.0.11)
|
24
|
-
chromedriver-helper (1.2.0)
|
25
|
-
archive-zip (~> 0.10)
|
26
|
-
nokogiri (~> 1.8)
|
27
23
|
coderay (1.1.2)
|
28
24
|
colorize (0.8.1)
|
29
25
|
diff-lcs (1.3)
|
30
|
-
ffi (1.
|
26
|
+
ffi (1.12.2)
|
31
27
|
gem-release (2.0.1)
|
32
|
-
io-like (0.3.0)
|
33
28
|
method_source (0.9.0)
|
34
|
-
mini_mime (1.0.
|
35
|
-
mini_portile2 (2.
|
36
|
-
nokogiri (1.8
|
37
|
-
mini_portile2 (~> 2.
|
29
|
+
mini_mime (1.0.2)
|
30
|
+
mini_portile2 (2.4.0)
|
31
|
+
nokogiri (1.10.8)
|
32
|
+
mini_portile2 (~> 2.4.0)
|
38
33
|
pry (0.11.3)
|
39
34
|
coderay (~> 1.1.0)
|
40
35
|
method_source (~> 0.9.0)
|
41
|
-
public_suffix (
|
42
|
-
rack (2.0.
|
43
|
-
rack-test (1.
|
36
|
+
public_suffix (4.0.3)
|
37
|
+
rack (2.0.8)
|
38
|
+
rack-test (1.1.0)
|
44
39
|
rack (>= 1.0, < 3)
|
45
|
-
rake (
|
40
|
+
rake (13.0.1)
|
41
|
+
regexp_parser (1.7.0)
|
46
42
|
rspec (3.7.0)
|
47
43
|
rspec-core (~> 3.7.0)
|
48
44
|
rspec-expectations (~> 3.7.0)
|
@@ -62,7 +58,11 @@ GEM
|
|
62
58
|
rubyzip (~> 1.2)
|
63
59
|
stub_server (0.2.1)
|
64
60
|
rack
|
65
|
-
|
61
|
+
webdrivers (4.1.2)
|
62
|
+
nokogiri (~> 1.6)
|
63
|
+
rubyzip (~> 1.0)
|
64
|
+
selenium-webdriver (>= 3.0, < 4.0)
|
65
|
+
xpath (3.2.0)
|
66
66
|
nokogiri (~> 1.8)
|
67
67
|
|
68
68
|
PLATFORMS
|
@@ -71,13 +71,13 @@ PLATFORMS
|
|
71
71
|
DEPENDENCIES
|
72
72
|
bundler (~> 1.16)
|
73
73
|
capybara-chromedriver-logger!
|
74
|
-
chromedriver-helper
|
75
74
|
gem-release
|
76
75
|
pry
|
77
|
-
rake (~>
|
76
|
+
rake (~> 13.0)
|
78
77
|
rspec (~> 3.0)
|
79
78
|
selenium-webdriver
|
80
79
|
stub_server
|
80
|
+
webdrivers (~> 4.0)
|
81
81
|
|
82
82
|
BUNDLED WITH
|
83
|
-
1.
|
83
|
+
1.17.3
|
data/README.md
CHANGED
@@ -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
|
-
#
|
40
|
-
|
41
|
-
|
42
|
-
|
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:
|
@@ -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", "~>
|
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
|
@@ -12,6 +12,31 @@ module Capybara
|
|
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
|
@@ -32,9 +32,12 @@ module Capybara
|
|
32
32
|
def flush_logs!
|
33
33
|
browser_logs.each do |log|
|
34
34
|
message = Message.new(log)
|
35
|
-
|
35
|
+
|
36
|
+
next if should_filter?(message)
|
36
37
|
|
37
|
-
|
38
|
+
errors << message if message.error?
|
39
|
+
|
40
|
+
log_destination.puts message.to_s
|
38
41
|
end
|
39
42
|
end
|
40
43
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-chromedriver-logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Balatero
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.16'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: chromedriver-helper
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: gem-release
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +86,14 @@ dependencies:
|
|
100
86
|
requirements:
|
101
87
|
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
89
|
+
version: '13.0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
96
|
+
version: '13.0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: rspec
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +136,20 @@ dependencies:
|
|
150
136
|
- - ">="
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: webdrivers
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '4.0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '4.0'
|
153
153
|
description:
|
154
154
|
email:
|
155
155
|
- dbalatero@gmail.com
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- ".gitignore"
|
161
161
|
- ".rspec"
|
162
162
|
- ".rubocop.yml"
|
163
|
+
- ".ruby-version"
|
163
164
|
- ".travis.yml"
|
164
165
|
- CHANGELOG.md
|
165
166
|
- Gemfile
|
@@ -197,8 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
198
|
- !ruby/object:Gem::Version
|
198
199
|
version: '0'
|
199
200
|
requirements: []
|
200
|
-
|
201
|
-
rubygems_version: 2.7.7
|
201
|
+
rubygems_version: 3.0.6
|
202
202
|
signing_key:
|
203
203
|
specification_version: 4
|
204
204
|
summary: Adds realtime console.log output to Capybara + Selenium + Chromedriver
|