chromedriver-screenshot 0.2.4 → 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 +3 -5
- data/.travis.yml +18 -0
- data/CHANGELOG.md +4 -0
- data/README.md +4 -0
- data/Rakefile +8 -0
- data/chromedriver-screenshot.gemspec +3 -1
- data/features/image_page.feature +6 -0
- data/features/step_definitions/image_page_steps.rb +17 -0
- data/features/support/env.rb +4 -0
- data/features/support/fixtures/single_window_image/expected_screenshot.png +0 -0
- data/features/support/fixtures/single_window_image/smiley_face.png +0 -0
- data/features/support/fixtures/single_window_image/test_page.html +8 -0
- data/features/support/hooks.rb +12 -0
- data/features/support/step_helpers.rb +11 -0
- data/lib/chromedriver-screenshot.rb +2 -2
- data/lib/chromedriver-screenshot/platforms.rb +11 -7
- data/lib/chromedriver-screenshot/version.rb +1 -1
- metadata +42 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d669b6828cdf8802b5b771efdec6219512f3cf97
|
4
|
+
data.tar.gz: 82bf11763a57cff6a0d8337231393f32b92e4380
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9036f2eb0d7e3e6e8a7d924521db19ff227eed196439bc2bf9fddc08909b15d13455ee4d5c228c094c0a5848697ab51d461db2d406d1c359ead8d61131452dc8
|
7
|
+
data.tar.gz: 6ebc32f50f58a4becd615154836abf3a6f408bb2fa06a459976b9eea589ae4e60187c52755504759707c4d915d043872e9cf02e2704f386f8b35d0c19efa2e77
|
data/.gitignore
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
# stores logs from tests
|
2
|
+
build/
|
3
|
+
|
1
4
|
*.gem
|
2
5
|
*.rbc
|
3
6
|
/.config
|
@@ -9,11 +12,6 @@
|
|
9
12
|
/test/version_tmp/
|
10
13
|
/tmp/
|
11
14
|
|
12
|
-
## Specific to RubyMotion:
|
13
|
-
.dat*
|
14
|
-
.repl_history
|
15
|
-
build/
|
16
|
-
|
17
15
|
## Documentation cache and generated files:
|
18
16
|
/.yardoc/
|
19
17
|
/_yardoc/
|
data/.travis.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
language: ruby
|
2
|
+
dist: trusty
|
3
|
+
rvm:
|
4
|
+
- 2.2
|
5
|
+
cache: bundler
|
6
|
+
before_script:
|
7
|
+
- export CHROME_BIN=/usr/bin/google-chrome
|
8
|
+
- export DISPLAY=:99.0
|
9
|
+
- sh -e /etc/init.d/xvfb start
|
10
|
+
- sudo apt-get update
|
11
|
+
- sudo apt-get install -y libappindicator1 fonts-liberation
|
12
|
+
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
13
|
+
- sudo dpkg -i google-chrome*.deb
|
14
|
+
- CHROMEDRIVER_VERSION=$(curl -s http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
|
15
|
+
- curl -L -O "http://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip"
|
16
|
+
- unzip chromedriver_linux64.zip
|
17
|
+
- chmod +x chromedriver
|
18
|
+
- sudo mv chromedriver /usr/local/bin
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
# chromedriver-screenshot
|
2
|
+
|
3
|
+
[](https://rubygems.org/gems/chromedriver-screenshot)
|
4
|
+
[](https://travis-ci.org/smacgaha/chromedriver-screenshot)
|
5
|
+
|
2
6
|
Full page screenshots for Chrome in Selenium WebDriver
|
3
7
|
|
4
8
|
# Usage
|
data/Rakefile
ADDED
@@ -16,7 +16,9 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.require_paths = ["lib"]
|
17
17
|
|
18
18
|
s.add_dependency "oily_png", "~> 1.2"
|
19
|
-
s.add_dependency "selenium-webdriver", "~>
|
19
|
+
s.add_dependency "selenium-webdriver", "~> 3.0"
|
20
20
|
|
21
21
|
s.add_development_dependency "rspec", "~> 3.2"
|
22
|
+
s.add_development_dependency "cucumber", "~> 2.4.0"
|
23
|
+
s.add_development_dependency "rake", "~> 10.5.0"
|
22
24
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Given(/^I am on the single window page$/) do
|
2
|
+
filepath = File.join(support_directory, "fixtures", "single_window_image", "test_page.html")
|
3
|
+
@browser.get "file://#{filepath}"
|
4
|
+
end
|
5
|
+
|
6
|
+
When(/^I take a screenshot$/) do
|
7
|
+
@actual_screenshot_path = File.join(logs_directory, "test_screenshot.png")
|
8
|
+
@browser.save_screenshot @actual_screenshot_path
|
9
|
+
end
|
10
|
+
|
11
|
+
Then(/^the screenshot matches the stored single window image$/) do
|
12
|
+
expected_screenshot_path = File.join(support_directory, "fixtures", "single_window_image", "expected_screenshot.png")
|
13
|
+
expected_screenshot = File.read(expected_screenshot_path)
|
14
|
+
actual_screenshot = File.read(@actual_screenshot_path)
|
15
|
+
|
16
|
+
expect(actual_screenshot).to eql expected_screenshot
|
17
|
+
end
|
Binary file
|
@@ -21,8 +21,8 @@ module Selenium
|
|
21
21
|
module WebDriver
|
22
22
|
module Remote
|
23
23
|
class Bridge
|
24
|
-
alias_method :window_screenshot, :
|
25
|
-
def
|
24
|
+
alias_method :window_screenshot, :screenshot
|
25
|
+
def screenshot
|
26
26
|
if browser == :chrome && ChromedriverScreenshot.take_full_screenshots
|
27
27
|
ChromedriverScreenshot::Platforms.create_platform(self)
|
28
28
|
|
@@ -9,27 +9,27 @@ module ChromedriverScreenshot
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def page_width
|
12
|
-
@page_width ||=
|
12
|
+
@page_width ||= execute_script("return document.body.scrollWidth")
|
13
13
|
end
|
14
14
|
|
15
15
|
def page_height
|
16
|
-
@page_height ||=
|
16
|
+
@page_height ||= execute_script("return document.body.scrollHeight")
|
17
17
|
end
|
18
18
|
|
19
19
|
def window_width
|
20
|
-
@window_width ||=
|
20
|
+
@window_width ||= execute_script("return document.documentElement.clientWidth")
|
21
21
|
end
|
22
22
|
|
23
23
|
def window_height
|
24
|
-
@window_height ||=
|
24
|
+
@window_height ||= execute_script("return document.documentElement.clientHeight")
|
25
25
|
end
|
26
26
|
|
27
27
|
def window_x
|
28
|
-
|
28
|
+
execute_script("return window.scrollX")
|
29
29
|
end
|
30
30
|
|
31
31
|
def window_y
|
32
|
-
|
32
|
+
execute_script("return window.scrollY")
|
33
33
|
end
|
34
34
|
|
35
35
|
def screenshot
|
@@ -37,7 +37,7 @@ module ChromedriverScreenshot
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def scroll_to(x, y)
|
40
|
-
|
40
|
+
execute_script("window.scrollTo(#{x}, #{y})")
|
41
41
|
sleep 1 # don't know why this is necessary
|
42
42
|
end
|
43
43
|
|
@@ -46,5 +46,9 @@ module ChromedriverScreenshot
|
|
46
46
|
def initialize(bridge)
|
47
47
|
@bridge = bridge
|
48
48
|
end
|
49
|
+
|
50
|
+
def execute_script(script)
|
51
|
+
@bridge.execute_script(script)
|
52
|
+
end
|
49
53
|
end
|
50
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chromedriver-screenshot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean MacGahan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oily_png
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: cucumber
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.4.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.4.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 10.5.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 10.5.0
|
55
83
|
description: Full-page screenshots for Chrome in Selenium WebDriver
|
56
84
|
email: smacgaha@gmail.com
|
57
85
|
executables: []
|
@@ -60,11 +88,21 @@ extra_rdoc_files: []
|
|
60
88
|
files:
|
61
89
|
- ".gitignore"
|
62
90
|
- ".rspec"
|
91
|
+
- ".travis.yml"
|
63
92
|
- CHANGELOG.md
|
64
93
|
- Gemfile
|
65
94
|
- LICENSE
|
66
95
|
- README.md
|
96
|
+
- Rakefile
|
67
97
|
- chromedriver-screenshot.gemspec
|
98
|
+
- features/image_page.feature
|
99
|
+
- features/step_definitions/image_page_steps.rb
|
100
|
+
- features/support/env.rb
|
101
|
+
- features/support/fixtures/single_window_image/expected_screenshot.png
|
102
|
+
- features/support/fixtures/single_window_image/smiley_face.png
|
103
|
+
- features/support/fixtures/single_window_image/test_page.html
|
104
|
+
- features/support/hooks.rb
|
105
|
+
- features/support/step_helpers.rb
|
68
106
|
- lib/chromedriver-screenshot.rb
|
69
107
|
- lib/chromedriver-screenshot/page.rb
|
70
108
|
- lib/chromedriver-screenshot/platforms.rb
|