watir-screenshot-stitch 0.6.8 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 939a86622f8de5e560e22d3d49efa5b460cc56bb3670190931c96e06ee52a50a
4
- data.tar.gz: d10c0145635f1f300209af7bd749ed36ee1965f1a266e4b847cf5ea8739b114d
3
+ metadata.gz: 4f561aad110b6d5ec14d10ffb7081ca534c491a8f9e3ed1132a5df881da81413
4
+ data.tar.gz: 42501bd6aef6ebcb9f9330b7bf5aafbb1127caac314cbe51768f70231578b9f3
5
5
  SHA512:
6
- metadata.gz: 90b97d55213c381c6b14357e915d4bbace39f7af1d44f7cfad528b6bc0a3ac3494b06ff562ae3ec5007a45ccdf0b354979634fbd2fcb2da2721b7f38bf9bf2cd
7
- data.tar.gz: 47404aab8732ce6e6c1c1a8d27831b8aecdc202befdfd203304c0910d723c872037a406e374621e6a9ae362b4ca6811e46ad47130ecb80bc9cbff9ce85c38e79
6
+ metadata.gz: 174aa90233570368a21bd85a6711eb173097f2d0368dbabd07bb7f408fc765e114ee83a982ddc42dd9e8e71363d13e12975643120634f4fa82d5dae9da21941a
7
+ data.tar.gz: c6a6765576e3c307076c7c5056efb11e26e187165cbe9507db7d1e541a3f394b636d92874e7958639c16b2242bbf62b3fba2aff4fdbdd31b77185d6c0b79c51e
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ /.idea/
1
2
  /.bundle/
2
3
  /.yardoc
3
4
  /_yardoc/
@@ -15,3 +16,7 @@
15
16
 
16
17
  # development
17
18
  watir-screenshot-stitch-*.gem
19
+
20
+ # Gem best practice
21
+ # https://stackoverflow.com/a/4151540/1651458
22
+ Gemfile.lock
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in watir-screenshot-stitch.gemspec
6
6
  gemspec
data/README.md CHANGED
@@ -1,10 +1,19 @@
1
1
  # watir-screenshot-stitch
2
2
 
3
- watir-screenshot-stitch attempts to compensate for Mozilla's decision
4
- not to (yet?) expose Firefox's full page screenshot functionality
5
- via geckodriver, [as indicated here](https://github.com/mozilla/geckodriver/issues/570),
6
- by paging down a given URL by the size of the viewport, capturing
7
- the entire page in the process.
3
+ watir-screenshot-stitch attempts to compensate for
4
+ the lack of full page screenshot functionality
5
+ in Selenium Webdriver.
6
+
7
+ It does so in three ways:
8
+
9
+ * Directly employing geckodriver's new full page screenshot
10
+ functionality (only on Firefox).
11
+ * Screenshot stitching, paging down a given URL by the size
12
+ of the viewport, capturing screenshots and adjoining them.
13
+ * Employing a bundled
14
+ [html2canvas](https://github.com/niklasvh/html2canvas)
15
+ script against the page to generate a png from a `canvas`
16
+ element.
8
17
 
9
18
  ## Installation
10
19
 
@@ -20,27 +29,98 @@ watir-screenshot-stitch relies on [MiniMagick](https://github.com/minimagick/min
20
29
  (and thus ImageMagick). You might need to review that gem's requirements and
21
30
  installation before proceeding.
22
31
 
23
- ### Firefox
32
+ ### Browser Support
33
+
34
+ watir-screenshot-stitch is optimized for and tested on following browsers:
35
+ * Chrome 65+
36
+ * Firefox 58+
37
+ * Safari 11.1
38
+ * IE 11/10/9/8
24
39
 
25
- watir-screenshot-stitch is optimized for and tested on Firefox. Your
26
- Watir / Selenium-Webdriver / geckodriver / Firefox stack must be correctly
40
+ Your Watir / Selenium-Webdriver / webdriver / Browser stack must be correctly
27
41
  configured. If you can find a good guide for installing and maintaining all
28
42
  parts of this stack, you're a better Googler than me.
29
43
 
30
44
  ## Usage
31
45
 
32
- ### WARNING: Browser passing will soon no longer be required
46
+ ### Special note: Upgrading from <= 0.6.11
47
+
48
+ As warned in version 0.6.6 and beyond, the Watir::Screenshot
49
+ class will have access to the browser in watir-screenshot-stitch
50
+ version 0.7.0 and beyond, and it will not need to be
51
+ passed to the public methods. Previous implementations will break.
52
+
53
+ To adapt, change your function calls like so:
54
+
55
+ <table>
56
+ <thead>
57
+ <tr>
58
+ <th>
59
+ <= 0.6.5
60
+ </th>
61
+ <th>
62
+ >= 0.6.6 && <= 0.6.11
63
+ </th>
64
+ <th>
65
+ >= 0.7.0
66
+ </th>
67
+ </tr>
68
+ </thead>
69
+ <tbody>
70
+ <tr>
71
+ <td>
72
+ `save_stitch(path, browser, opts)`
73
+ </td>
74
+ <td>
75
+ `save_stitch(path, nil, opts)` or
76
+ `save_stitch(path, browser, opts)`
77
+ </td>
78
+ <td>
79
+ `save_stitch(path, opts)`
80
+ </td>
81
+ </tr>
82
+ <tr>
83
+ <td>
84
+ `base64_canvas(browser)`
85
+ </td>
86
+ <td>
87
+ `base64_canvas(browser)` or `base64_canvas`
88
+ </td>
89
+ <td>
90
+ `base64_canvas`
91
+ </td>
92
+ </tr>
93
+ </tbody>
94
+ </table>
95
+
96
+ ### Using geckodriver
97
+
98
+ watir-screenshot-stitch can employ a special function of geckodriver >= 0.24.0
99
+ while driving Firefox. This
100
+
101
+ ```ruby
102
+ require 'watir-screenshot-stitch'
103
+ b = Watir::Browser.new :firefox
104
+ b.goto "https://github.com/mozilla/geckodriver/issues/570"
105
+ b.base64_geckodriver
106
+ ```
107
+ will return a base64 encoded image blob of the given site.
108
+
109
+ In can be saved as a PNG by doing:
110
+ ```ruby
111
+ png = b.screenshot.base64_geckodriver
112
+ path = "/my/path/image.png"
113
+ File.open(path, 'wb') { |f| f.write(Base64.decode64(png)) }
114
+ ```
33
115
 
34
- As of watir-screenshot-stitch version 0.7.0, the Watir::Screenshot
35
- class will have access to the browser, and it will not need to be
36
- passed to the public methods. `save_stitch(path, browser, opts)`
37
- will become `save_stitch(path, opts)`, and `base64_canvas(browser)`
38
- will become `base64_canvas` and existing implementations will
39
- break.
116
+ This is the option with the fewest complications, and should be used
117
+ if possible.
40
118
 
41
- To suppress warnings in the meantime, upgrade to Watir 6.12
42
- and pass `nil` in place of the `browser` for #save_stitch and
43
- use `base64_canvas` with no parameters.
119
+ #### User geckodriver vs. webdrivers geckodriver
120
+
121
+ If using the webdrivers gem, watir-screenshot-stitch will attempt to
122
+ use the geckodriver included there, since that's likely to be
123
+ the driver employed by watir. If not, it falls back to the the system user's geckodriver.
44
124
 
45
125
  ### Stitching
46
126
 
@@ -53,7 +133,7 @@ opts = { :page_height_limit => 5000 }
53
133
 
54
134
  b = Watir::Browser.new :firefox
55
135
  b.goto "https://github.com/mozilla/geckodriver/issues/570"
56
- b.screenshot.save_stitch(path, b, opts)
136
+ b.screenshot.save_stitch(path, opts)
57
137
  ```
58
138
 
59
139
  will stitch together and save a full-page screenshot, up to 5000 pixels tall,
@@ -63,18 +143,31 @@ to `/my/path/image.png`.
63
143
 
64
144
  html2canvas is a JavaScript library watir-screenshot-stitch can employ to
65
145
  try to create a canvas element of the entire page and covert it to a blob.
66
- For instance,
146
+ For instance, this
67
147
 
68
148
  ```ruby
69
149
  require 'watir-screenshot-stitch'
70
150
 
71
151
  b = Watir::Browser.new :firefox
72
152
  b.goto "https://github.com/watir/watir/issues/702"
73
- b.screenshot.base64_canvas(b)
153
+ b.screenshot.base64_canvas
74
154
  ```
75
155
 
76
156
  will return a base64 encoded image blob of the given site.
77
157
 
158
+ In can be saved as a PNG by doing:
159
+ ```ruby
160
+ png = b.screenshot.base64_canvas
161
+ path = "/my/path/image.png"
162
+ File.open(path, 'wb') { |f| f.write(Base64.decode64(png)) }
163
+ ```
164
+
165
+ This method of screenshotting
166
+ is less likely to have issues with stitching the images together,
167
+ and running out of memory but has limitations with certain element
168
+ types not being properly displayed. See their documentation for
169
+ more information.
170
+
78
171
  ### Doubling resolution calculations, including macOS Retina
79
172
 
80
173
  watir-screenshot-stitch uses CSS selectors to determine whether a
@@ -85,14 +178,6 @@ logic to determine how to stitch together images.
85
178
  This means that moving the browser window while it is be driven by
86
179
  Watir can cause unpredictable results.
87
180
 
88
- ### Passing the browser?
89
-
90
- This is obviously awkward and obtuse. Because watir-screenshot-stitch
91
- patches Watir, it does not change the way Watir calls the Screenshot class,
92
- which does not know about the Browser instance (it instead knows
93
- about the driver). And watir-screenshot-stitch needs the browser to execute
94
- JavaScript on the page.
95
-
96
181
  ### Options
97
182
 
98
183
  A hash of key value pairs.
@@ -101,17 +186,19 @@ A hash of key value pairs.
101
186
  Should refer to a positive Integer greater than the viewport height.
102
187
 
103
188
  ### Maximum height
104
- ImageMagick has a maximum pixel dimension of 65500, and all screenshots
105
- will be capped to a maximum height of 65500 regardless of any options
106
- to avoid errors.
189
+ ImageMagick has a maximum pixel dimension of 65500, and all stitched
190
+ screenshots will be capped to a maximum height of 65500 regardless
191
+ of any options to avoid errors.
107
192
 
108
193
  ## Development
109
194
 
110
- TODO: This.
195
+ Use `rspec` to run the tests, and see the
196
+ (contributing)[#Contributing] section below &mdash;
197
+ all are welcome.
111
198
 
112
199
  ## Contributing
113
200
 
114
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/watir-screenshot-stitch. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
201
+ Bug reports and pull requests are welcome on GitHub at https://github.com/samnissen/watir-screenshot-stitch. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
115
202
 
116
203
  ## License
117
204
 
@@ -14,6 +14,33 @@ RANGE_MOD = 0.02
14
14
  module Watir
15
15
  class Screenshot
16
16
 
17
+ #
18
+ # Employs a cutting edge feature in geckodriver version 0.24.0
19
+ # to produce a Base64 encoded string of a full page screenshot.
20
+ #
21
+ # @warning
22
+ # This will fail if geckodriver is less than version 0.24.0.
23
+ #
24
+ # @info
25
+ # This is only a patch until this is baked into Selenium/Watir.
26
+ #
27
+ # @example
28
+ # browser.screenshot.base64_geckodriver
29
+ # #=> '7HWJ43tZDscPleeUuPW6HhN3x+z7vU/lufmH0qNTtTum94IBWMT46evImci1vnFGT'
30
+ #
31
+ # @return [String]
32
+ #
33
+
34
+ def base64_geckodriver
35
+ ensure_geckodriver
36
+
37
+ resource_url = build_driver_url
38
+
39
+ raw = request_payload(resource_url)
40
+
41
+ parse_gecko(raw)
42
+ end
43
+
17
44
  #
18
45
  # Represents stitched together screenshot and writes to file.
19
46
  #
@@ -27,10 +54,10 @@ module Watir
27
54
  # @param [Hash] opts
28
55
  #
29
56
 
30
- def save_stitch(path, browser = @browser, opts = {})
57
+ def save_stitch(path, opts = {})
58
+ return @browser.screenshot.save(path) if base64_capable?
31
59
  @options = opts
32
60
  @path = path
33
- deprecate_browser(browser, (__LINE__-3))
34
61
  calculate_dimensions
35
62
 
36
63
  return self.save(@path) if (one_shot? || bug_shot?)
@@ -56,8 +83,8 @@ module Watir
56
83
  # @return [String]
57
84
  #
58
85
 
59
- def base64_canvas(browser = @browser)
60
- deprecate_browser(browser, (__LINE__-1))
86
+ def base64_canvas
87
+ return self.base64 if base64_capable?
61
88
  output = nil
62
89
 
63
90
  return self.base64 if one_shot? || bug_shot?
@@ -71,14 +98,65 @@ module Watir
71
98
 
72
99
  raise "Could not generate screenshot blob within #{MAXIMUM_SCREENSHOT_GENERATION_WAIT_TIME} seconds" unless output
73
100
 
74
- return output.sub!(/^data\:image\/png\;base64,/, '')
101
+ output.sub!(/^data\:image\/png\;base64,/, '')
75
102
  end
76
103
 
77
104
  private
78
- def deprecate_browser(browser, line)
79
- return unless browser
80
- warn "#{DateTime.now.strftime("%F %T")} WARN Watir Screenshot Stitch [DEPRECATION] Passing the browser is deprecated and will no longer work in version 0.7.0 /lib/watir-screenshot-stitch.rb:#{line}"
81
- @browser = browser
105
+ def parse_gecko(raw = '')
106
+ JSON.parse(raw, symbolize_names: true)[:value]
107
+ rescue JSON::ParserError => e
108
+ raise "geckodriver response '#{raw}' was malformed"
109
+ end
110
+
111
+ def request_payload(request_url)
112
+ url = URI.parse(request_url)
113
+ req = Net::HTTP::Get.new(request_url)
114
+ Net::HTTP.start(url.host, url.port) {|http| http.request(req) }.body
115
+ rescue Errno::ECONNREFUSED => e
116
+ raise "geckodriver could not be accessed at '#{request_url}'"
117
+ end
118
+
119
+ def build_driver_path
120
+ bridge = @browser.driver.session_storage.instance_variable_get(:@bridge)
121
+ sid = bridge.instance_variable_get(:@session_id)
122
+
123
+ raise "Unable to get geckodriver session ID." unless sid
124
+
125
+ "session/#{sid}/moz/screenshot/full"
126
+ end
127
+
128
+ def build_driver_url
129
+ bridge = @browser.driver.session_storage.instance_variable_get(:@bridge)
130
+ server_uri = bridge.instance_variable_get(:@http).instance_variable_get(:@server_url)
131
+
132
+ raise "Unable to get geckodriver server URI." unless server_uri
133
+
134
+ request_url = server_uri.to_s + build_driver_path
135
+ end
136
+
137
+ def ensure_geckodriver
138
+ raise "base64_geckodriver only works on Firefox" unless @browser.name == :firefox
139
+
140
+ if webdrivers_defined?
141
+ current_version = Webdrivers::Geckodriver.current_version
142
+ else
143
+ current_version = Gem::Version.new(%x{geckodriver --version}.match(/geckodriver (\d+\.\d+\.\d+)/)[1])
144
+ end
145
+
146
+ correct_version = (current_version >= Gem::Version.new("0.24.0"))
147
+
148
+ raise "base64_geckodriver requires version 0.24.x or greater" unless correct_version
149
+ end
150
+
151
+ def webdrivers_defined?
152
+ Object.const_get("Webdrivers")
153
+ rescue NameError
154
+ nil
155
+ end
156
+
157
+ # in IE & Safari a regular screenshot is a full page screenshot only
158
+ def base64_capable?
159
+ [:internet_explorer, :safari].include? @browser&.name
82
160
  end
83
161
 
84
162
  def one_shot?
@@ -99,7 +177,7 @@ module Watir
99
177
  end # https://github.com/mozilla/geckodriver/issues/1129
100
178
 
101
179
  def h2c_activator
102
- return case @browser.driver.browser
180
+ case @browser.driver.browser
103
181
  when :firefox
104
182
  %<
105
183
  function genScreenshot () {
@@ -125,7 +203,7 @@ module Watir
125
203
  end
126
204
 
127
205
  def html2canvas_payload
128
- return case @browser.driver.browser
206
+ case @browser.driver.browser
129
207
  when :firefox
130
208
  path = File.join(WatirScreenshotStitch::Utilities.directory, "vendor/html2canvas-0.4.1.js")
131
209
  File.read(path)
@@ -204,8 +282,12 @@ module Watir
204
282
  end
205
283
 
206
284
  def retina?
207
- payload = %{var mq = window.matchMedia("only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 1.3dppx)"); return (mq && mq.matches || (window.devicePixelRatio > 1));}
208
-
285
+ payload = %{ var mq = window.matchMedia("only screen and (min--moz-device-pixel-ratio: 1.3), \
286
+ only screen and (-o-min-device-pixel-ratio: 2.6/2), \
287
+ only screen and (-webkit-min-device-pixel-ratio: 1.3), \
288
+ only screen and (min-device-pixel-ratio: 1.3), \
289
+ only screen and (min-resolution: 1.3dppx)");
290
+ return (mq && mq.matches || (window.devicePixelRatio > 1)); }
209
291
  @browser.execute_script payload
210
292
  end
211
293
  end
@@ -1,4 +1,4 @@
1
1
  module WatirScreenshotStitch
2
2
  NAME = 'watir-screenshot-stitch'
3
- VERSION = "0.6.8"
3
+ VERSION = "0.7.3"
4
4
  end
@@ -1,4 +1,3 @@
1
-
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "watir-screenshot-stitch/version"
@@ -6,8 +5,8 @@ require "watir-screenshot-stitch/version"
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "watir-screenshot-stitch"
8
7
  spec.version = WatirScreenshotStitch::VERSION
9
- spec.authors = ["Sam Nissen"]
10
- spec.email = ["scnissen@gmail.com"]
8
+ spec.authors = ["Sam Nissen", "Sandeep Singh"]
9
+ spec.email = ["scnissen@gmail.com", "sandeepnagra@gmail.com"]
11
10
 
12
11
  spec.summary = %q{Extends Watir to take stitched-together screenshots of full web pages.}
13
12
  # spec.description = %q{TODO: Write a longer description or delete this line.}
@@ -31,11 +30,14 @@ Gem::Specification.new do |spec|
31
30
  spec.require_paths = ["lib"]
32
31
 
33
32
  spec.add_development_dependency "bundler", "~> 1.16"
34
- spec.add_development_dependency "rake", "~> 10.0"
33
+ spec.add_development_dependency "rake", ">= 12.3.3"
35
34
  spec.add_development_dependency "rspec", "~> 3.0"
36
35
  spec.add_development_dependency "chunky_png", "~> 1.3"
37
36
 
38
- spec.add_dependency "watir", "~> 6.4"
37
+ spec.required_ruby_version = '>= 2.3.0'
38
+
39
+ spec.add_dependency "rubyzip", "~> 1.2"
40
+ spec.add_dependency "watir", "~> 6.12"
39
41
  spec.add_dependency "mini_magick", "~> 4.0"
40
42
  spec.add_dependency "os", "~> 1.0"
41
43
  spec.add_dependency "binding_of_caller", "~> 0.7"
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir-screenshot-stitch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.8
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Nissen
8
+ - Sandeep Singh
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2018-08-20 00:00:00.000000000 Z
12
+ date: 2020-06-23 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
@@ -28,16 +29,16 @@ dependencies:
28
29
  name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - "~>"
32
+ - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: '10.0'
34
+ version: 12.3.3
34
35
  type: :development
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - "~>"
39
+ - - ">="
39
40
  - !ruby/object:Gem::Version
40
- version: '10.0'
41
+ version: 12.3.3
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: rspec
43
44
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +67,34 @@ dependencies:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
69
  version: '1.3'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rubyzip
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.2'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.2'
69
84
  - !ruby/object:Gem::Dependency
70
85
  name: watir
71
86
  requirement: !ruby/object:Gem::Requirement
72
87
  requirements:
73
88
  - - "~>"
74
89
  - !ruby/object:Gem::Version
75
- version: '6.4'
90
+ version: '6.12'
76
91
  type: :runtime
77
92
  prerelease: false
78
93
  version_requirements: !ruby/object:Gem::Requirement
79
94
  requirements:
80
95
  - - "~>"
81
96
  - !ruby/object:Gem::Version
82
- version: '6.4'
97
+ version: '6.12'
83
98
  - !ruby/object:Gem::Dependency
84
99
  name: mini_magick
85
100
  requirement: !ruby/object:Gem::Requirement
@@ -125,6 +140,7 @@ dependencies:
125
140
  description:
126
141
  email:
127
142
  - scnissen@gmail.com
143
+ - sandeepnagra@gmail.com
128
144
  executables: []
129
145
  extensions: []
130
146
  extra_rdoc_files: []
@@ -134,7 +150,6 @@ files:
134
150
  - ".travis.yml"
135
151
  - CODE_OF_CONDUCT.md
136
152
  - Gemfile
137
- - Gemfile.lock
138
153
  - LICENSE.txt
139
154
  - README.md
140
155
  - Rakefile
@@ -158,15 +173,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
173
  requirements:
159
174
  - - ">="
160
175
  - !ruby/object:Gem::Version
161
- version: '0'
176
+ version: 2.3.0
162
177
  required_rubygems_version: !ruby/object:Gem::Requirement
163
178
  requirements:
164
179
  - - ">="
165
180
  - !ruby/object:Gem::Version
166
181
  version: '0'
167
182
  requirements: []
168
- rubyforge_project:
169
- rubygems_version: 2.7.7
183
+ rubygems_version: 3.1.2
170
184
  signing_key:
171
185
  specification_version: 4
172
186
  summary: Extends Watir to take stitched-together screenshots of full web pages.
@@ -1,55 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- watir-screenshot-stitch (0.6.7)
5
- binding_of_caller (~> 0.7)
6
- mini_magick (~> 4.0)
7
- os (~> 1.0)
8
- watir (~> 6.4)
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- binding_of_caller (0.8.0)
14
- debug_inspector (>= 0.0.1)
15
- childprocess (0.9.0)
16
- ffi (~> 1.0, >= 1.0.11)
17
- chunky_png (1.3.10)
18
- debug_inspector (0.0.3)
19
- diff-lcs (1.3)
20
- ffi (1.9.25)
21
- mini_magick (4.8.0)
22
- os (1.0.0)
23
- rake (10.5.0)
24
- rspec (3.7.0)
25
- rspec-core (~> 3.7.0)
26
- rspec-expectations (~> 3.7.0)
27
- rspec-mocks (~> 3.7.0)
28
- rspec-core (3.7.1)
29
- rspec-support (~> 3.7.0)
30
- rspec-expectations (3.7.0)
31
- diff-lcs (>= 1.2.0, < 2.0)
32
- rspec-support (~> 3.7.0)
33
- rspec-mocks (3.7.0)
34
- diff-lcs (>= 1.2.0, < 2.0)
35
- rspec-support (~> 3.7.0)
36
- rspec-support (3.7.0)
37
- rubyzip (1.2.1)
38
- selenium-webdriver (3.14.0)
39
- childprocess (~> 0.5)
40
- rubyzip (~> 1.2)
41
- watir (6.12.0)
42
- selenium-webdriver (~> 3.4, >= 3.4.1)
43
-
44
- PLATFORMS
45
- ruby
46
-
47
- DEPENDENCIES
48
- bundler (~> 1.16)
49
- chunky_png (~> 1.3)
50
- rake (~> 10.0)
51
- rspec (~> 3.0)
52
- watir-screenshot-stitch!
53
-
54
- BUNDLED WITH
55
- 1.16.2