capybara-box 0.2.0 → 0.2.1
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/CHANGELOG.md +5 -0
- data/README.md +5 -3
- data/lib/capybara-box/base.rb +4 -8
- data/lib/capybara-box/version.rb +1 -1
- data/spec/lib/capybara_box/base/create_spec.rb +16 -4
- data/spec/lib/capybara_box/base/driver_options_spec.rb +1 -1
- metadata +1 -3
- data/spec/lib/capybara_box/base/browser_spec.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6afd97a950443869bfe4ab875fccd59c05a3fc0a
|
4
|
+
data.tar.gz: 137d4cf67eb4dd6c1a04c043ebbc07e13706a8f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07bd47774b53cc943f1b319caba4e4114458fe618b1318465b8002710ce4b65ac9d68bfc023f052887aac2c3f192e8e9add6e050b59bca6d404772f1a141cdea
|
7
|
+
data.tar.gz: b7e8561e2fd0fbea24983141057428ca532bb281e1e6a162db43cddb800885b79b56aa8a0fe8c3f679d3242ef2da6c63b56ffb40f32a4aff676326daec850289
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[](https://travis-ci.org/wbotelhos/capybara-box)
|
4
4
|
[](https://badge.fury.io/rb/capybara-box)
|
5
5
|
|
6
|
-
Configure Capybara with **Chrome**, **Headless
|
6
|
+
Configure Capybara with **Chrome**, **Chrome Headless** or **Firefox** with *Screenshot* feature and *Session* without lost your mind with just one line.
|
7
7
|
|
8
8
|
## install
|
9
9
|
|
@@ -26,7 +26,7 @@ require 'capybara-box'
|
|
26
26
|
CapybaraBox::Base.configure
|
27
27
|
```
|
28
28
|
|
29
|
-
By default, `chrome` is
|
29
|
+
By default, `chrome` is the driver, but you can use `chrome_headless` and `firefox` too.
|
30
30
|
|
31
31
|
## Version
|
32
32
|
|
@@ -36,7 +36,7 @@ If you do not want install the Chrome Driver on your CI, you can specify the ver
|
|
36
36
|
CapybaraBox::Base.configure version: '2.32'
|
37
37
|
```
|
38
38
|
|
39
|
-
* This works just for
|
39
|
+
* This works just for `chrome` and `chrome_headless`, for now
|
40
40
|
|
41
41
|
## Screenshot
|
42
42
|
|
@@ -89,6 +89,7 @@ By default some Switches are enabled for a better performance, you can add yours
|
|
89
89
|
|
90
90
|
```ruby
|
91
91
|
capybara_box = CapybaraBox.configure
|
92
|
+
|
92
93
|
capybara_box.add_argument '--incognito'
|
93
94
|
```
|
94
95
|
|
@@ -108,6 +109,7 @@ By default some Preferences are enabled for a better performance, you can add yo
|
|
108
109
|
|
109
110
|
```ruby
|
110
111
|
capybara_box = CapybaraBox.configure
|
112
|
+
|
111
113
|
capybara_box.add_preference :credentials_enable_service, false
|
112
114
|
```
|
113
115
|
|
data/lib/capybara-box/base.rb
CHANGED
@@ -60,10 +60,6 @@ module CapybaraBox
|
|
60
60
|
]
|
61
61
|
end
|
62
62
|
|
63
|
-
def browser
|
64
|
-
@browser ||= chrome_family? ? :chrome : @browser
|
65
|
-
end
|
66
|
-
|
67
63
|
def chrome?
|
68
64
|
@browser == :chrome
|
69
65
|
end
|
@@ -77,7 +73,7 @@ module CapybaraBox
|
|
77
73
|
end
|
78
74
|
|
79
75
|
def configure
|
80
|
-
Capybara.javascript_driver = browser
|
76
|
+
Capybara.javascript_driver = @browser
|
81
77
|
Capybara.default_max_wait_time = @max_wait_time if @max_wait_time
|
82
78
|
end
|
83
79
|
|
@@ -106,7 +102,7 @@ module CapybaraBox
|
|
106
102
|
Capybara::Screenshot.s3_configuration = screenshot_s3_config
|
107
103
|
end
|
108
104
|
|
109
|
-
Capybara::Screenshot.register_driver(browser) do |driver, path|
|
105
|
+
Capybara::Screenshot.register_driver(@browser) do |driver, path|
|
110
106
|
driver.browser.save_screenshot path
|
111
107
|
end
|
112
108
|
end
|
@@ -119,7 +115,7 @@ module CapybaraBox
|
|
119
115
|
apply_version @parameters[:version] if version?
|
120
116
|
configure_screenshot if @parameters[:screenshot]
|
121
117
|
|
122
|
-
register browser
|
118
|
+
register @browser
|
123
119
|
|
124
120
|
configure
|
125
121
|
end
|
@@ -136,7 +132,7 @@ module CapybaraBox
|
|
136
132
|
return @parameters[:driver_options] if @parameters[:driver_options]
|
137
133
|
|
138
134
|
opts = {
|
139
|
-
browser: browser,
|
135
|
+
browser: chrome_family? ? :chrome : @browser,
|
140
136
|
clear_local_storage: true,
|
141
137
|
clear_session_storage: true
|
142
138
|
}
|
data/lib/capybara-box/version.rb
CHANGED
@@ -66,12 +66,24 @@ RSpec.describe CapybaraBox::Base, '#create' do
|
|
66
66
|
context 'when :browser is given' do
|
67
67
|
subject { described_class.new parameters }
|
68
68
|
|
69
|
-
|
69
|
+
context 'as firefox' do
|
70
|
+
let!(:parameters) { { browser: :firefox } }
|
70
71
|
|
71
|
-
|
72
|
-
|
72
|
+
it 'registers the given browser' do
|
73
|
+
expect(subject).to receive(:register).with :firefox
|
73
74
|
|
74
|
-
|
75
|
+
subject.create
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
context 'as chrome_headless' do
|
80
|
+
let!(:parameters) { { browser: :chrome_headless } }
|
81
|
+
|
82
|
+
it 'registers the given browser' do
|
83
|
+
expect(subject).to receive(:register).with :chrome_headless
|
84
|
+
|
85
|
+
subject.create
|
86
|
+
end
|
75
87
|
end
|
76
88
|
end
|
77
89
|
end
|
@@ -29,7 +29,7 @@ RSpec.describe CapybaraBox::Base, '.register' do
|
|
29
29
|
|
30
30
|
it 'uses the default driver options' do
|
31
31
|
expect(subject.driver_options).to eq(
|
32
|
-
browser: :
|
32
|
+
browser: :chrome,
|
33
33
|
clear_local_storage: true,
|
34
34
|
clear_session_storage: true,
|
35
35
|
driver_opts: { log_path: 'log/capybara-box.log' }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-box
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Washington Botelho
|
@@ -155,7 +155,6 @@ files:
|
|
155
155
|
- spec/lib/capybara_box/base/apply_preferences_spec.rb
|
156
156
|
- spec/lib/capybara_box/base/apply_version_spec.rb
|
157
157
|
- spec/lib/capybara_box/base/arguments_spec.rb
|
158
|
-
- spec/lib/capybara_box/base/browser_spec.rb
|
159
158
|
- spec/lib/capybara_box/base/chrome_family_spec.rb
|
160
159
|
- spec/lib/capybara_box/base/chrome_headless_spec.rb
|
161
160
|
- spec/lib/capybara_box/base/chrome_spec.rb
|
@@ -207,7 +206,6 @@ test_files:
|
|
207
206
|
- spec/lib/capybara_box/base/apply_preferences_spec.rb
|
208
207
|
- spec/lib/capybara_box/base/apply_version_spec.rb
|
209
208
|
- spec/lib/capybara_box/base/arguments_spec.rb
|
210
|
-
- spec/lib/capybara_box/base/browser_spec.rb
|
211
209
|
- spec/lib/capybara_box/base/chrome_family_spec.rb
|
212
210
|
- spec/lib/capybara_box/base/chrome_headless_spec.rb
|
213
211
|
- spec/lib/capybara_box/base/chrome_spec.rb
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe CapybaraBox::Base, '.browser' do
|
4
|
-
context 'when :browser is chrome family' do
|
5
|
-
before do
|
6
|
-
allow(subject).to receive(:chrome_family?) { true }
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'is considered chrome' do
|
10
|
-
expect(subject.browser).to eq :chrome
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
context 'when :browser is not chrome family' do
|
15
|
-
subject { described_class.new parameters }
|
16
|
-
|
17
|
-
let!(:parameters) { { browser: :original_name } }
|
18
|
-
|
19
|
-
before do
|
20
|
-
allow(subject).to receive(:chrome_family?) { false }
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'returns the original name' do
|
24
|
-
expect(subject.browser).to eq :original_name
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|