testcentricity_web 0.9.1 → 0.9.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -2
- data/lib/devices/devices.yml +30 -0
- data/lib/testcentricity_web/browser_helper.rb +8 -0
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/webdriver_helper.rb +11 -12
- data/testcentricity_web.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b1ea3399f3c43738e6c88b4d80a4f15c7da9ab3
|
4
|
+
data.tar.gz: 4e3ef296cb0a1e510736328abdfba64d048a6149
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 329d32abef4368ca1e1437aff9c0d490a5b514fe686d135938b7f83b33eb7f45dfc06ff481299facfe34ae39b64f2e136dedaab4c9d8ddff51197265c12c375c
|
7
|
+
data.tar.gz: ae739de1e3630c00c297d91588914d59a09efbab13c31141921fc659f0d67862f52fac7bf40d00b111d063fd9293050203dc7cd878b67dee0aca3a9ff4010bf3
|
data/README.md
CHANGED
@@ -12,7 +12,9 @@ The TestCentricity™ Web gem supports running testing against the following web
|
|
12
12
|
* locally hosted emulated iOS, Android, Windows Phone, or Blackberry mobile browsers (using Firefox or Chrome)
|
13
13
|
* a "headless" browser (using Poltergeist and PhantomJS)
|
14
14
|
* mobile Safari browsers on iOS device simulators (using Appium and XCode on OS X)
|
15
|
-
* cloud hosted desktop or mobile web browsers using the
|
15
|
+
* cloud hosted desktop or mobile web browsers using the [Browserstack](https://www.browserstack.com/list-of-browsers-and-platforms?product=automate),
|
16
|
+
[Sauce Labs](https://saucelabs.com/features/#features-cross-browser), [CrossBrowserTesting](https://crossbrowsertesting.com/selenium-testing), or
|
17
|
+
[TestingBot](https://testingbot.com/features) services.
|
16
18
|
|
17
19
|
|
18
20
|
## Installation
|
@@ -412,6 +414,8 @@ browsers, the `WEB_BROWSER` Environment Variable must be set to one of the value
|
|
412
414
|
`android_phone` |`firefox` or `chrome` |320 x 480|portrait
|
413
415
|
`windows_phone7` |`firefox` or `chrome` |320 x 480|portrait
|
414
416
|
`windows_phone8` |`firefox` or `chrome` |320 x 480|portrait
|
417
|
+
`blackberry_z10` |`firefox` or `chrome` |384 x 640|portrait
|
418
|
+
`blackberry_z30` |`firefox` or `chrome` |360 x 640|portrait
|
415
419
|
|
416
420
|
To change the emulated device's screen orientation from the default setting, set the `ORIENTATION` Environment Variable to either `portrait` or `landscape`.
|
417
421
|
|
@@ -618,7 +622,9 @@ replace the placeholder text with your user account and authorization code for t
|
|
618
622
|
google_nexus7: WEB_BROWSER=google_nexus7 HOST_BROWSER=firefox <%= mobile %>
|
619
623
|
windows_phone7: WEB_BROWSER=windows_phone7 HOST_BROWSER=firefox <%= mobile %>
|
620
624
|
windows_phone8: WEB_BROWSER=windows_phone8 HOST_BROWSER=firefox <%= mobile %>
|
621
|
-
|
625
|
+
blackberry_z10: WEB_BROWSER=blackberry_z10 HOST_BROWSER=firefox <%= mobile %>
|
626
|
+
blackberry_z30: WEB_BROWSER=blackberry_z30 HOST_BROWSER=firefox <%= mobile %>
|
627
|
+
|
622
628
|
|
623
629
|
#==============
|
624
630
|
# profiles for mobile device screen orientation
|
data/lib/devices/devices.yml
CHANGED
@@ -1,89 +1,119 @@
|
|
1
1
|
:iphone:
|
2
|
+
:name: "iPhone"
|
2
3
|
:css_width: 320
|
3
4
|
:css_height: 480
|
4
5
|
:default_orientation: portrait
|
5
6
|
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
|
6
7
|
:iphone4:
|
8
|
+
:name: "iPhone 4"
|
7
9
|
:css_width: 320
|
8
10
|
:css_height: 480
|
9
11
|
:default_orientation: portrait
|
10
12
|
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
|
11
13
|
:iphone5:
|
14
|
+
:name: "iPhone 5"
|
12
15
|
:css_width: 320
|
13
16
|
:css_height: 568
|
14
17
|
:default_orientation: portrait
|
15
18
|
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
|
16
19
|
:iphone6:
|
20
|
+
:name: "iPhone 6"
|
17
21
|
:css_width: 375
|
18
22
|
:css_height: 667
|
19
23
|
:default_orientation: portrait
|
20
24
|
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
|
21
25
|
:iphone6_plus:
|
26
|
+
:name: "iPhone 6 Plus"
|
22
27
|
:css_width: 414
|
23
28
|
:css_height: 736
|
24
29
|
:default_orientation: portrait
|
25
30
|
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
|
26
31
|
:android_phone:
|
32
|
+
:name: "Generic Android phone"
|
27
33
|
:css_width: 320
|
28
34
|
:css_height: 480
|
29
35
|
:default_orientation: portrait
|
30
36
|
:user_agent: "Mozilla/5.0 (Linux; U; Android 4.0.1; en-us; sdk Build/ICS_MR0) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
|
31
37
|
:windows_phone8:
|
38
|
+
:name: "Generic Windows 8 phone"
|
32
39
|
:css_width: 320
|
33
40
|
:css_height: 480
|
34
41
|
:default_orientation: portrait
|
35
42
|
:user_agent: "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)"
|
36
43
|
:windows_phone7:
|
44
|
+
:name: "Generic Windows 7 phone"
|
37
45
|
:css_width: 320
|
38
46
|
:css_height: 480
|
39
47
|
:default_orientation: portrait
|
40
48
|
:user_agent: "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 710)"
|
49
|
+
:blackberry_z10:
|
50
|
+
:name: "Blackberry Z10"
|
51
|
+
:css_width: 384
|
52
|
+
:css_height: 640
|
53
|
+
:default_orientation: portrait
|
54
|
+
:user_agent: "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+"
|
55
|
+
:blackberry_z30:
|
56
|
+
:name: "Blackberry Z30"
|
57
|
+
:css_width: 360
|
58
|
+
:css_height: 640
|
59
|
+
:default_orientation: portrait
|
60
|
+
:user_agent: "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+"
|
41
61
|
:ipad:
|
62
|
+
:name: "iPad"
|
42
63
|
:css_width: 1024
|
43
64
|
:css_height: 768
|
44
65
|
:default_orientation: landscape
|
45
66
|
:user_agent: "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/3B143 Safari/601.1"
|
46
67
|
:ipad_pro:
|
68
|
+
:name: "iPad Pro"
|
47
69
|
:css_width: 1366
|
48
70
|
:css_height: 1024
|
49
71
|
:default_orientation: landscape
|
50
72
|
:user_agent: "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B137 Safari/601.1"
|
51
73
|
:android_tablet:
|
74
|
+
:name: "Generic Android tablet"
|
52
75
|
:css_width: 1024
|
53
76
|
:css_height: 768
|
54
77
|
:default_orientation: landscape
|
55
78
|
:user_agent: "Mozilla/5.0 (Linux; U; Android 3.0; en-us; GT-P7100 Build/HRI83) AppleWebkit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"
|
56
79
|
:kindle_fire:
|
80
|
+
:name: "Kindle Fire"
|
57
81
|
:css_width: 1024
|
58
82
|
:css_height: 600
|
59
83
|
:default_orientation: landscape
|
60
84
|
:user_agent: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.141.16-Gen4_11004310) AppleWebkit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true"
|
61
85
|
:kindle_firehd7:
|
86
|
+
:name: "Kindle Fire HD 7"
|
62
87
|
:css_width: 800
|
63
88
|
:css_height: 480
|
64
89
|
:default_orientation: landscape
|
65
90
|
:user_agent: "Mozilla/5.0 (Linux; U; en-us; KFTHWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true"
|
66
91
|
:kindle_firehd8:
|
92
|
+
:name: "Kindle Fire HD 8 or 9"
|
67
93
|
:css_width: 1280
|
68
94
|
:css_height: 800
|
69
95
|
:default_orientation: landscape
|
70
96
|
:user_agent: "Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true"
|
71
97
|
:surface:
|
98
|
+
:name: "Microsoft Surface"
|
72
99
|
:css_width: 1366
|
73
100
|
:css_height: 768
|
74
101
|
:default_orientation: landscape
|
75
102
|
:user_agent: "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)"
|
76
103
|
:blackberry_playbook:
|
104
|
+
:name: "Blackberry Playbook"
|
77
105
|
:css_width: 1024
|
78
106
|
:css_height: 600
|
79
107
|
:default_orientation: landscape
|
80
108
|
:user_agent: "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+"
|
81
109
|
:samsung_galaxy_tab:
|
110
|
+
:name: "Samsung Galaxy Tab series"
|
82
111
|
:css_width: 1280
|
83
112
|
:css_height: 800
|
84
113
|
:default_orientation: landscape
|
85
114
|
:user_agent: "Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
86
115
|
:google_nexus7:
|
116
|
+
:name: "Nexus 7 series"
|
87
117
|
:css_width: 960
|
88
118
|
:css_height: 600
|
89
119
|
:default_orientation: landscape
|
@@ -91,6 +91,14 @@ module TestCentricity
|
|
91
91
|
agent_string
|
92
92
|
end
|
93
93
|
|
94
|
+
def self.mobile_device_name(device)
|
95
|
+
device_name = device.gsub(/\s+/, "").downcase.to_sym
|
96
|
+
device = get_devices[device_name]
|
97
|
+
name = device[:name]
|
98
|
+
raise "Device '#{device}' is not defined" unless name
|
99
|
+
name
|
100
|
+
end
|
101
|
+
|
94
102
|
def self.browser_size(browser, orientation)
|
95
103
|
device_name = browser.gsub(/\s+/, "").downcase.to_sym
|
96
104
|
device = get_devices[device_name]
|
@@ -78,22 +78,21 @@ module TestCentricity
|
|
78
78
|
case browser.downcase.to_sym
|
79
79
|
when :firefox, :chrome, :ie, :safari, :edge
|
80
80
|
Capybara::Selenium::Driver.new(app, :browser => browser.to_sym)
|
81
|
-
|
81
|
+
else
|
82
|
+
user_agent = Browsers.mobile_device_agent(browser)
|
82
83
|
Environ.set_platform(:mobile)
|
84
|
+
Environ.set_device_type(Browsers.mobile_device_name(browser))
|
83
85
|
ENV['HOST_BROWSER'] ? host_browser = ENV['HOST_BROWSER'].downcase.to_sym : host_browser = :firefox
|
84
86
|
case host_browser
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
87
|
+
when :firefox
|
88
|
+
profile = Selenium::WebDriver::Firefox::Profile.new
|
89
|
+
profile['general.useragent.override'] = user_agent
|
90
|
+
Capybara::Selenium::Driver.new(app, :profile => profile)
|
91
|
+
when :chrome
|
92
|
+
args = []
|
93
|
+
args << "--user-agent='#{user_agent}'"
|
94
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome, :args => args)
|
93
95
|
end
|
94
|
-
else
|
95
|
-
Capybara::Selenium::Driver.new(app, :browser => :firefox)
|
96
|
-
Environ.set_browser('firefox')
|
97
96
|
end
|
98
97
|
end
|
99
98
|
end
|
data/testcentricity_web.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
locally hosted desktop browsers (Firefox, Chrome, Safari, IE, or Edge), locally hosted emulated mobile (iOS, Android,
|
18
18
|
Windows Phone, Blackberry) browsers using Firefox or Chrome, a "headless" browser (using Poltergeist and PhantomJS),
|
19
19
|
mobile Safari browsers on iOS device simulators (using Appium and XCode on OS X), or cloud hosted desktop or mobile
|
20
|
-
web browsers using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services.}
|
20
|
+
web browsers (using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services).}
|
21
21
|
spec.homepage = ''
|
22
22
|
spec.license = 'BSD3'
|
23
23
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testcentricity_web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.1
|
4
|
+
version: 0.9.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- A.J. Mrozinski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -149,7 +149,7 @@ description: |2-
|
|
149
149
|
locally hosted desktop browsers (Firefox, Chrome, Safari, IE, or Edge), locally hosted emulated mobile (iOS, Android,
|
150
150
|
Windows Phone, Blackberry) browsers using Firefox or Chrome, a "headless" browser (using Poltergeist and PhantomJS),
|
151
151
|
mobile Safari browsers on iOS device simulators (using Appium and XCode on OS X), or cloud hosted desktop or mobile
|
152
|
-
web browsers using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services.
|
152
|
+
web browsers (using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services).
|
153
153
|
email:
|
154
154
|
- testcentricity@gmail.com
|
155
155
|
executables: []
|