watir-device 0.1.0 → 0.2.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/.travis.yml +7 -0
- data/CHANGELOG.md +4 -0
- data/README.md +3 -0
- data/lib/watir-device/device.rb +44 -2
- data/lib/watir-device/version.rb +1 -1
- data/watir-device.gemspec +2 -1
- metadata +22 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d19a7097140b06008672f88a68842c53009da23f
|
4
|
+
data.tar.gz: c4ef967edf21197f47cb1a3003583b5de40c3f05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4be0d1ce256e0da60176a4d3a16d76d8c86d82a91ed4dcc58a81541a5159f9ba2612544e09ca2329c77704baa2bc34000e82808c34de934be11e3fc4a8fb6311
|
7
|
+
data.tar.gz: 5f071c64f5027957b3d757238a52bd2084c713ac14cf65c9c76c8bab30c5614f3b5ef4071b800db3a135399607fe034d93552cdf1e6e3d3d6fd1e0bc983e32dd
|
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Watir::Device
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/watir-device)
|
4
|
+
[](https://travis-ci.org/jdenen/watir-device)
|
5
|
+
|
3
6
|
Automate Chrome Developer Tools' device emulation with watir-webdriver.
|
4
7
|
|
5
8
|

|
data/lib/watir-device/device.rb
CHANGED
@@ -1,25 +1,66 @@
|
|
1
1
|
require 'watir-webdriver'
|
2
2
|
|
3
3
|
module Watir
|
4
|
+
|
5
|
+
#
|
6
|
+
# Automate Chrome in mobile emulation mode. Devices availabe for emulation are available in the
|
7
|
+
# Dev Tool preferences, including "Apple iPhone 6 Plus", "Samsung Galaxy Note 3", "Google Nexus 10", etc.
|
8
|
+
#
|
9
|
+
# @author Johnson Denen
|
10
|
+
#
|
4
11
|
class Device
|
5
12
|
attr_reader :device_name, :driver, :browser
|
6
13
|
|
7
14
|
class << self
|
15
|
+
|
16
|
+
#
|
17
|
+
# Spin up an instance and navigate to a URL.
|
18
|
+
#
|
19
|
+
# @example Open iPhone 6+ to google.com
|
20
|
+
# Watir::Device.start "www.google.com", "Apple iPhone 6 Plus"
|
21
|
+
#
|
22
|
+
# @param url [String] URL to visit
|
23
|
+
# @param device_name [String] device to emulate
|
24
|
+
# @return [Watir::Device]
|
25
|
+
#
|
8
26
|
def start url, device_name, *args
|
9
27
|
new(device_name, *args).tap { |dev| dev.goto url }
|
10
28
|
end
|
11
29
|
end
|
12
30
|
|
31
|
+
#
|
32
|
+
# Emulate a device browser with Chrome's mobile emulation tool.
|
33
|
+
#
|
34
|
+
# @param device_name [String] device to emulate
|
35
|
+
# @return [Watir::Device]
|
36
|
+
#
|
13
37
|
def initialize device_name, *args
|
14
38
|
@driver = device_driver(device_name)
|
15
39
|
@device_name = device_name
|
16
40
|
@browser = Watir::Browser.new driver
|
17
41
|
end
|
18
42
|
|
43
|
+
#
|
44
|
+
# Get the emulated device's name.
|
45
|
+
#
|
46
|
+
# @return [String]
|
47
|
+
#
|
19
48
|
def device
|
20
49
|
device_name
|
21
50
|
end
|
22
51
|
|
52
|
+
#
|
53
|
+
# Closed instances will return string ending in CLOSED.
|
54
|
+
#
|
55
|
+
# @return [String]
|
56
|
+
# @see Object#inspect
|
57
|
+
#
|
58
|
+
def inspect
|
59
|
+
'<#%s:0x%x device=%s url=%s>' % [self.class, hash*2, device, browser.url] rescue '<#%s:0x%x device=%s CLOSED>' % [self.class, hash*2, device]
|
60
|
+
end
|
61
|
+
|
62
|
+
# Build a WebDriver to emulate the device.
|
63
|
+
# @api private
|
23
64
|
def device_driver name
|
24
65
|
opts = {
|
25
66
|
"mobileEmulation" => {
|
@@ -30,8 +71,9 @@ module Watir
|
|
30
71
|
Selenium::WebDriver.for(:chrome, desired_capabilities: capabilities)
|
31
72
|
end
|
32
73
|
|
33
|
-
|
34
|
-
|
74
|
+
# Undefined methods are passed to Watir::Browser.
|
75
|
+
# @see https://github.com/watir/watir-webdriver/blob/master/lib/watir-webdriver/browser.rb Watir::Browser
|
76
|
+
# @api private
|
35
77
|
def method_missing mthd, *args
|
36
78
|
browser.send(mthd, *args)
|
37
79
|
end
|
data/lib/watir-device/version.rb
CHANGED
data/watir-device.gemspec
CHANGED
@@ -20,7 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_runtime_dependency "watir-webdriver", "~> 0.8.0"
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler", "
|
23
|
+
spec.add_development_dependency "bundler", ">= 1.7"
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.2"
|
25
26
|
spec.add_development_dependency "simplecov", "~> 0.10"
|
26
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir-device
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johnson Denen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: watir-webdriver
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.7'
|
34
34
|
type: :development
|
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: '1.
|
40
|
+
version: '1.7'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.2'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: simplecov
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,6 +88,8 @@ extensions: []
|
|
74
88
|
extra_rdoc_files: []
|
75
89
|
files:
|
76
90
|
- .gitignore
|
91
|
+
- .travis.yml
|
92
|
+
- CHANGELOG.md
|
77
93
|
- Gemfile
|
78
94
|
- LICENSE
|
79
95
|
- README.md
|