capybara-screenshot 1.0.1 → 1.0.2
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/.travis.yml +2 -2
- data/CHANGELOG.md +7 -0
- data/README.md +87 -38
- data/lib/capybara-screenshot/capybara.rb +2 -0
- data/lib/capybara-screenshot/cucumber.rb +2 -0
- data/lib/capybara-screenshot/minitest.rb +2 -0
- data/lib/capybara-screenshot/rspec.rb +2 -0
- data/lib/capybara-screenshot/spinach.rb +2 -0
- data/lib/capybara-screenshot/version.rb +1 -1
- metadata +59 -61
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea0f0f79b26cc47c17432e0d436e6c5c11fe1d01
|
4
|
+
data.tar.gz: cf7a0fdcf2f73c7dda324ab4f06eeacf0af4b4fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c9b5f03a37755b78be62e9b5619e23200d6ee7017a7b21d2c33a75dc127632e431707e349572511aba2e900af51597674e47cdf1604312b1b7f6056fda3c600
|
7
|
+
data.tar.gz: d3c4e74a8b4c7c58a6770695ceb8d5d174253f82cafbb19408f127bda0d1bad9077e16d5cb838fe3bd8ca7a7192f2b27c722bc4258dc8a37b3e95a52ef7ba1e0
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
27 September 2014 - 1.0.1 -> 1.0.2
|
2
|
+
-----------
|
3
|
+
|
4
|
+
* Improved documentation to cover RSpec 3's new approach to using `rails_helper` in place of `spec_helper` for Rails tests
|
5
|
+
* Updated documentation to use Ruby formatting in language blocks
|
6
|
+
* Removed need to manually `require 'capybara-screenshot'` for RSpec
|
7
|
+
|
1
8
|
18 September 2014 - 1.0.0 -> 1.0.1
|
2
9
|
-----------
|
3
10
|
|
data/README.md
CHANGED
@@ -2,8 +2,7 @@ capybara-screenshot gem
|
|
2
2
|
=======================
|
3
3
|
|
4
4
|
[](https://travis-ci.org/mattheworiordan/capybara-screenshot)
|
5
|
-
[](https://codeclimate.com/github/mattheworiordan/capybara-
|
6
|
-
screenshot)
|
5
|
+
[](https://codeclimate.com/github/mattheworiordan/capybara-screenshot)
|
7
6
|
[](http://badge.fury.io/rb/capybara-screenshot)
|
8
7
|
|
9
8
|
#### Capture a screen shot for every test failure automatically!
|
@@ -17,39 +16,63 @@ _Please note that Ruby 1.9+ is required to use this Gem. For Ruby 1.8 support,
|
|
17
16
|
Installation
|
18
17
|
-----
|
19
18
|
|
20
|
-
### Step 1
|
19
|
+
### Step 1: install the gem
|
21
20
|
|
22
21
|
Using Bundler, add the following to your Gemfile
|
23
22
|
|
24
|
-
|
23
|
+
```ruby
|
24
|
+
gem 'capybara-screenshot', :group => :test
|
25
|
+
```
|
25
26
|
|
26
27
|
or install manually using Ruby Gems:
|
27
28
|
|
28
|
-
|
29
|
+
```
|
30
|
+
gem install capybara-screenshot
|
31
|
+
```
|
29
32
|
|
30
|
-
### Step 2
|
33
|
+
### Step 2: load capybara-screenshot into your tests
|
31
34
|
|
32
|
-
|
35
|
+
#### Cucumber
|
33
36
|
|
34
|
-
|
37
|
+
In env.rb or a support file, please add:
|
35
38
|
|
36
|
-
|
39
|
+
```ruby
|
40
|
+
require 'capybara-screenshot/cucumber'
|
41
|
+
```
|
37
42
|
|
38
|
-
|
39
|
-
require 'capybara-screenshot'
|
40
|
-
require 'capybara-screenshot/rspec'
|
43
|
+
#### RSpec
|
41
44
|
|
42
|
-
|
45
|
+
In rails_helper.rb, spec_helper.rb, or a support file, after the require for 'capybara/rspec', please add:
|
43
46
|
|
44
|
-
|
47
|
+
```ruby
|
48
|
+
# remember: you must require 'capybara/rspec' first
|
49
|
+
require 'capybara-screenshot/rspec'
|
50
|
+
```
|
45
51
|
|
46
|
-
|
52
|
+
*Note: As of RSpec Rails 3.0, it is recommended that all your Rails environment code is loaded into `rails_helper.rb` instead of `spec_helper.rb`, and as such, the capybara-screenshot require should be located in `rails_helper.rb`. See the [RSpec Rails 3.0 upgrade notes](https://www.relishapp.com/rspec/rspec-rails/v/3-0/docs/upgrade) for more info.*
|
47
53
|
|
48
|
-
|
54
|
+
#### Minitest
|
55
|
+
|
56
|
+
Typically in 'test/test_helper.rb', please add:
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
require 'capybara-screenshot/minitest'
|
60
|
+
```
|
61
|
+
|
62
|
+
#### Test::Unit
|
63
|
+
|
64
|
+
Typically in 'test/test_helper.rb', please add:
|
65
|
+
|
66
|
+
```ruby
|
67
|
+
require 'capybara-screenshot/testunit'
|
68
|
+
```
|
49
69
|
|
50
70
|
By default, screenshots will be captured for `Test::Unit` tests in the path 'test/integration'. You can add additional paths as:
|
51
71
|
|
52
|
-
|
72
|
+
```ruby
|
73
|
+
Capybara::Screenshot.testunit_paths << 'test/feature'
|
74
|
+
```
|
75
|
+
|
53
76
|
|
54
77
|
Manual screenshots
|
55
78
|
----
|
@@ -58,20 +81,28 @@ If you require more control, you can generate the screenshot on demand rather th
|
|
58
81
|
if the failure occurs at a point where the screen shot is not as useful for debugging a rendering problem. This
|
59
82
|
can be more useful if you disable the auto-generate on failure feature with the following config
|
60
83
|
|
61
|
-
|
84
|
+
```ruby
|
85
|
+
Capybara::Screenshot.autosave_on_failure = false
|
86
|
+
```
|
62
87
|
|
63
88
|
Anywhere the Capybara DSL methods (visit, click etc.) are available so too are the screenshot methods.
|
64
89
|
|
65
|
-
|
90
|
+
```ruby
|
91
|
+
screenshot_and_save_page
|
92
|
+
```
|
66
93
|
|
67
94
|
Or for screenshot only, which will automatically open the image.
|
68
95
|
|
69
|
-
|
96
|
+
```ruby
|
97
|
+
screenshot_and_open_image
|
98
|
+
```
|
70
99
|
|
71
100
|
These are just calls on the main library methods.
|
72
101
|
|
73
|
-
|
74
|
-
|
102
|
+
```ruby
|
103
|
+
Capybara::Screenshot.screenshot_and_save_page
|
104
|
+
Capybara::Screenshot.screenshot_and_open_image
|
105
|
+
```
|
75
106
|
|
76
107
|
|
77
108
|
Driver configuration
|
@@ -79,22 +110,28 @@ Driver configuration
|
|
79
110
|
|
80
111
|
The gem supports the default rendering method for Capybara to generate the screenshot, which is:
|
81
112
|
|
82
|
-
|
113
|
+
```ruby
|
114
|
+
page.driver.render(path)
|
115
|
+
```
|
83
116
|
|
84
117
|
There are also some specific driver configurations for Selenium, Webkit, and Poltergeist. See [the definitions here](https://github.com/mattheworiordan/capybara-screenshot/blob/master/lib/capybara-screenshot.rb). The Rack::Test driver, Rails' default, does not allow
|
85
118
|
rendering, so it has a driver definition as a noop.
|
86
119
|
|
87
120
|
Capybara-webkit defaults to a screenshot size of 1000px by 10px. To specify a custom size, use the following option:
|
88
121
|
|
89
|
-
|
122
|
+
```ruby
|
123
|
+
Capybara::Screenshot.webkit_options = { width: 1024, height: 768 }
|
124
|
+
```
|
90
125
|
|
91
126
|
If a driver is not found the default rendering will be used. If this doesn't work with your driver, then you can
|
92
127
|
add another driver configuration like so
|
93
128
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
129
|
+
```ruby
|
130
|
+
# The driver name should match the Capybara driver config name.
|
131
|
+
Capybara::Screenshot.register_driver(:exotic_browser_driver) do |driver, path|
|
132
|
+
driver.super_dooper_render(path)
|
133
|
+
end
|
134
|
+
```
|
98
135
|
|
99
136
|
|
100
137
|
Custom screenshot filename
|
@@ -103,20 +140,26 @@ Custom screenshot filename
|
|
103
140
|
If you want to control the screenshot filename for a specific test library, to inject the test name into it for example,
|
104
141
|
you can override how the basename is generated for the file like so
|
105
142
|
|
106
|
-
|
107
|
-
|
108
|
-
|
143
|
+
```ruby
|
144
|
+
Capybara::Screenshot.register_filename_prefix_formatter(:rspec) do |example|
|
145
|
+
"screenshot_#{example.description.gsub(' ', '-').gsub(/^.*\/spec\//,'')}"
|
146
|
+
end
|
147
|
+
```
|
109
148
|
|
110
149
|
By default capybara-screenshot will append a timestamp to the basename. If you want to disable this behavior set the following option:
|
111
150
|
|
112
|
-
|
151
|
+
```ruby
|
152
|
+
Capybara::Screenshot.append_timestamp = false
|
153
|
+
```
|
113
154
|
|
114
155
|
|
115
156
|
Custom screenshot directory
|
116
157
|
--------------------------
|
117
158
|
By default screenshots are saved to the current working directory. If you want to customize the location, override the file path as:
|
118
159
|
|
119
|
-
|
160
|
+
```ruby
|
161
|
+
Capybara.save_and_open_page_path = "/file/path"
|
162
|
+
```
|
120
163
|
|
121
164
|
|
122
165
|
Information about screenshots in RSpec output
|
@@ -124,11 +167,15 @@ Information about screenshots in RSpec output
|
|
124
167
|
|
125
168
|
By default, capybara-screenshot extend RSpec’s formatters to include a link to the screenshot and/or saved html page for each failed spec. If you want to disable this feature completely (eg. to avoid problems with CI tools), use:
|
126
169
|
|
127
|
-
|
170
|
+
```ruby
|
171
|
+
Capybara::Screenshot::RSpec.add_link_to_screenshot_for_failed_examples = false
|
172
|
+
```
|
128
173
|
|
129
174
|
It’s also possible to directly embed the screenshot image in the output if you’re using RSpec’s HtmlFormatter:
|
130
175
|
|
131
|
-
|
176
|
+
```ruby
|
177
|
+
Capybara::Screenshot::RSpec::REPORTERS["RSpec::Core::Formatters::HtmlFormatter"] = Capybara::Screenshot::RSpec::HtmlEmbedReporter
|
178
|
+
```
|
132
179
|
|
133
180
|
If you want to further customize the information added to RSpec’s output, just implement your own reporter class and customize `Capybara::Screenshot::RSpec::REPORTERS` accordingly. See [rspec.rb](lib/capybara-screenshot/rspec.rb) for more info.
|
134
181
|
|
@@ -140,9 +187,11 @@ If you have recently upgraded from v0.2, or you find that screen shots are not a
|
|
140
187
|
|
141
188
|
Also make sure that you're not calling `Capybara.reset_sessions!` before the screenshot hook runs. For RSpec you want to make sure that you're using `append_after` instead of `after`, for instance:
|
142
189
|
|
143
|
-
|
144
|
-
|
145
|
-
|
190
|
+
```ruby
|
191
|
+
config.append_after(:each) do
|
192
|
+
Capybara.reset_sessions!
|
193
|
+
end
|
194
|
+
```
|
146
195
|
|
147
196
|
[Raise an issue on the Capybara-Screenshot issue tracker](https://github.com/mattheworiordan/capybara-screenshot/issues) if you are still having problems.
|
148
197
|
|
metadata
CHANGED
@@ -1,186 +1,185 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-screenshot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew O'Riordan
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: capybara
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- -
|
16
|
+
- - '>='
|
18
17
|
- !ruby/object:Gem::Version
|
19
18
|
version: '1.0'
|
20
|
-
- -
|
19
|
+
- - <
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: '3'
|
23
|
-
|
22
|
+
name: capybara
|
24
23
|
prerelease: false
|
24
|
+
type: :runtime
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '1.0'
|
30
|
-
- -
|
30
|
+
- - <
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '3'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name: launchy
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
36
35
|
requirements:
|
37
|
-
- -
|
36
|
+
- - '>='
|
38
37
|
- !ruby/object:Gem::Version
|
39
38
|
version: '0'
|
40
|
-
|
39
|
+
name: launchy
|
41
40
|
prerelease: false
|
41
|
+
type: :runtime
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - '>='
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name: colored
|
49
48
|
requirement: !ruby/object:Gem::Requirement
|
50
49
|
requirements:
|
51
|
-
- -
|
50
|
+
- - '>='
|
52
51
|
- !ruby/object:Gem::Version
|
53
52
|
version: '0'
|
54
|
-
|
53
|
+
name: colored
|
55
54
|
prerelease: false
|
55
|
+
type: :runtime
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - '>='
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name: rspec
|
63
62
|
requirement: !ruby/object:Gem::Requirement
|
64
63
|
requirements:
|
65
|
-
- -
|
64
|
+
- - '>='
|
66
65
|
- !ruby/object:Gem::Version
|
67
66
|
version: '0'
|
68
|
-
|
67
|
+
name: rspec
|
69
68
|
prerelease: false
|
69
|
+
type: :development
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - '>='
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name: timecop
|
77
76
|
requirement: !ruby/object:Gem::Requirement
|
78
77
|
requirements:
|
79
|
-
- -
|
78
|
+
- - '>='
|
80
79
|
- !ruby/object:Gem::Version
|
81
80
|
version: '0'
|
82
|
-
|
81
|
+
name: timecop
|
83
82
|
prerelease: false
|
83
|
+
type: :development
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- -
|
86
|
+
- - '>='
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
-
name: cucumber
|
91
90
|
requirement: !ruby/object:Gem::Requirement
|
92
91
|
requirements:
|
93
|
-
- -
|
92
|
+
- - '>='
|
94
93
|
- !ruby/object:Gem::Version
|
95
94
|
version: '0'
|
96
|
-
|
95
|
+
name: cucumber
|
97
96
|
prerelease: false
|
97
|
+
type: :development
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - '>='
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name: aruba
|
105
104
|
requirement: !ruby/object:Gem::Requirement
|
106
105
|
requirements:
|
107
|
-
- -
|
106
|
+
- - '>='
|
108
107
|
- !ruby/object:Gem::Version
|
109
108
|
version: '0'
|
110
|
-
|
109
|
+
name: aruba
|
111
110
|
prerelease: false
|
111
|
+
type: :development
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - '>='
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name: sinatra
|
119
118
|
requirement: !ruby/object:Gem::Requirement
|
120
119
|
requirements:
|
121
|
-
- -
|
120
|
+
- - '>='
|
122
121
|
- !ruby/object:Gem::Version
|
123
122
|
version: '0'
|
124
|
-
|
123
|
+
name: sinatra
|
125
124
|
prerelease: false
|
125
|
+
type: :development
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- -
|
128
|
+
- - '>='
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
|
-
name: test-unit
|
133
132
|
requirement: !ruby/object:Gem::Requirement
|
134
133
|
requirements:
|
135
|
-
- -
|
134
|
+
- - '>='
|
136
135
|
- !ruby/object:Gem::Version
|
137
136
|
version: '0'
|
138
|
-
|
137
|
+
name: test-unit
|
139
138
|
prerelease: false
|
139
|
+
type: :development
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- -
|
142
|
+
- - '>='
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
|
-
name: spinach
|
147
146
|
requirement: !ruby/object:Gem::Requirement
|
148
147
|
requirements:
|
149
|
-
- -
|
148
|
+
- - '>='
|
150
149
|
- !ruby/object:Gem::Version
|
151
150
|
version: '0'
|
152
|
-
|
151
|
+
name: spinach
|
153
152
|
prerelease: false
|
153
|
+
type: :development
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- -
|
156
|
+
- - '>='
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
|
-
name: minitest
|
161
160
|
requirement: !ruby/object:Gem::Requirement
|
162
161
|
requirements:
|
163
|
-
- -
|
162
|
+
- - '>='
|
164
163
|
- !ruby/object:Gem::Version
|
165
164
|
version: '0'
|
166
|
-
|
165
|
+
name: minitest
|
167
166
|
prerelease: false
|
167
|
+
type: :development
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
|
-
- -
|
170
|
+
- - '>='
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: '0'
|
173
|
-
description: When a Cucumber step fails, it is useful to create a screenshot image
|
174
|
-
and HTML file of the current page
|
173
|
+
description: When a Cucumber step fails, it is useful to create a screenshot image and HTML file of the current page
|
175
174
|
email:
|
176
175
|
- matthew.oriordan@gmail.com
|
177
176
|
executables: []
|
178
177
|
extensions: []
|
179
178
|
extra_rdoc_files: []
|
180
179
|
files:
|
181
|
-
-
|
182
|
-
-
|
183
|
-
-
|
180
|
+
- .gitignore
|
181
|
+
- .rspec
|
182
|
+
- .travis.yml
|
184
183
|
- Appraisals
|
185
184
|
- CHANGELOG.md
|
186
185
|
- Gemfile
|
@@ -235,27 +234,26 @@ homepage: http://github.com/mattheworiordan/capybara-screenshot
|
|
235
234
|
licenses:
|
236
235
|
- MIT
|
237
236
|
metadata: {}
|
238
|
-
post_install_message:
|
237
|
+
post_install_message:
|
239
238
|
rdoc_options: []
|
240
239
|
require_paths:
|
241
240
|
- lib
|
242
241
|
required_ruby_version: !ruby/object:Gem::Requirement
|
243
242
|
requirements:
|
244
|
-
- -
|
243
|
+
- - '>='
|
245
244
|
- !ruby/object:Gem::Version
|
246
245
|
version: '0'
|
247
246
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
248
247
|
requirements:
|
249
|
-
- -
|
248
|
+
- - '>='
|
250
249
|
- !ruby/object:Gem::Version
|
251
250
|
version: '0'
|
252
251
|
requirements: []
|
253
252
|
rubyforge_project: capybara-screenshot
|
254
|
-
rubygems_version: 2.
|
255
|
-
signing_key:
|
253
|
+
rubygems_version: 2.1.9
|
254
|
+
signing_key:
|
256
255
|
specification_version: 4
|
257
|
-
summary: Automatically create snapshots when Cucumber steps fail with Capybara and
|
258
|
-
Rails
|
256
|
+
summary: Automatically create snapshots when Cucumber steps fail with Capybara and Rails
|
259
257
|
test_files:
|
260
258
|
- spec/cucumber/cucumber_spec.rb
|
261
259
|
- spec/cucumber/step_definitions/step_definitions.rb
|