capybara-screenshot 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Build Status](https://travis-ci.org/mattheworiordan/capybara-screenshot.png)](https://travis-ci.org/mattheworiordan/capybara-screenshot)
|
5
|
-
[![Code Climate](https://d3s6mut3hikguw.cloudfront.net/github/mattheworiordan/capybara-screenshot.png)](https://codeclimate.com/github/mattheworiordan/capybara-
|
6
|
-
screenshot)
|
5
|
+
[![Code Climate](https://d3s6mut3hikguw.cloudfront.net/github/mattheworiordan/capybara-screenshot.png)](https://codeclimate.com/github/mattheworiordan/capybara-screenshot)
|
7
6
|
[![Gem Version](https://badge.fury.io/rb/capybara-screenshot.svg)](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
|