browsenator 1.4.0 → 1.5.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 +5 -5
- data/README.md +60 -16
- data/lib/browsenator.rb +4 -3
- data/lib/browsenator/local.rb +3 -3
- data/lib/browsenator/local/chrome.rb +0 -1
- data/lib/browsenator/local/firefox.rb +0 -1
- data/lib/browsenator/local/safari.rb +0 -1
- data/lib/browsenator/remote/browserstack.rb +42 -17
- data/lib/browsenator/remote/browserstack/browserstack_credentials.rb +12 -6
- data/lib/browsenator/remote/browserstack/desktop/chrome.rb +25 -0
- data/lib/browsenator/remote/browserstack/desktop/edge.rb +25 -0
- data/lib/browsenator/remote/browserstack/desktop/ie.rb +25 -0
- data/lib/browsenator/remote/browserstack/desktop/safari.rb +38 -0
- data/lib/browsenator/remote/browserstack/{screen_size.rb → desktop/screen_size.rb} +1 -1
- data/lib/browsenator/remote/browserstack/mobile/iphone8.rb +21 -0
- data/lib/browsenator/remote/browserstack/mobile/samsung_galaxy_s8.rb +21 -0
- metadata +10 -8
- data/lib/browsenator/remote/browserstack/chrome.rb +0 -39
- data/lib/browsenator/remote/browserstack/edge.rb +0 -39
- data/lib/browsenator/remote/browserstack/ie.rb +0 -39
- data/lib/browsenator/remote/browserstack/safari.rb +0 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7f112d645e581531801f8aac581a0970aee0e8d0
|
4
|
+
data.tar.gz: d13b32cf5fc05fb7cb6ca4d59c30c7ffd1d33577
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60b5f6beca27810d98a9eec972286eec33bcc29cf30fbe82790f921a56d9b277ad8b248dc15580816c784115b7605d6f13958071608f41ba9a02eb8a6091b638
|
7
|
+
data.tar.gz: 0262b959e18d67766a8b595b77e224c84221930079605fa76f5fd0b757a7eb076b87a90b5c3c867447ba0d25b4cb3f7b7e3119685969486b85f8e77dc83b9095
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Browsenator
|
2
|
-
[](https://travis-ci.org/aidamanna/browsenator)
|
2
|
+
[](https://travis-ci.org/aidamanna/browsenator) [](https://codeclimate.com/github/aidamanna/browsenator/maintainability) [](https://codeclimate.com/github/aidamanna/browsenator/test_coverage)
|
3
3
|
|
4
|
-
Browsenator is a Watir wrapper to make starting local and remote browsers easier.
|
4
|
+
Browsenator is a Watir wrapper to make starting local and remote browsers easier in desktop and mobile platforms.
|
5
5
|
|
6
6
|
Big thanks to Browserstack for allowing us to use their tool for developing this project.
|
7
7
|
|
@@ -67,17 +67,21 @@ In Safari, you will also need to allow remote automation option (under Develop m
|
|
67
67
|
|
68
68
|
### Remote browser
|
69
69
|
|
70
|
-
|
70
|
+
Currently, remote browsers are only available through Browserstack. You will need to have a subscription with Browserstack to connect with them. Bear in mind that the [plan](https://www.browserstack.com/accounts/subscriptions) you need is different depending on the platform (desktop, mobile) you need to perform your tests.
|
71
|
+
|
72
|
+
You can start remote browsers on desktop and **real** mobile platforms.
|
73
|
+
|
74
|
+
#### Remote desktop browser
|
75
|
+
|
76
|
+
Start a remote desktop browser:
|
71
77
|
|
72
78
|
```ruby
|
73
79
|
Browsenator.for(:chrome, remote: :browserstack)
|
74
80
|
```
|
75
81
|
|
76
|
-
|
82
|
+
You can start the following remote desktop browsers: `:chrome`, `:safari`, `:edge`, `:ie`.
|
77
83
|
|
78
|
-
|
79
|
-
|
80
|
-
#### Browser versions
|
84
|
+
##### Browser versions
|
81
85
|
|
82
86
|
You can specify the browser version you want to use:
|
83
87
|
|
@@ -87,7 +91,7 @@ Browsenator.for(:chrome, remote: :browserstack, browser_version: '65.0')
|
|
87
91
|
|
88
92
|
Check [capabilities](https://www.browserstack.com/automate/capabilities) in Browserstack to know which browser versions to use.
|
89
93
|
|
90
|
-
|
94
|
+
##### Defaults
|
91
95
|
|
92
96
|
- Resolution: 1024 x 768
|
93
97
|
- Chrome browser: v66 - High Sierra
|
@@ -95,9 +99,9 @@ Check [capabilities](https://www.browserstack.com/automate/capabilities) in Brow
|
|
95
99
|
- Edge browser: v17 - Windows 10
|
96
100
|
- IE browser: v11 - Windows 10
|
97
101
|
|
98
|
-
|
102
|
+
##### Other configurations
|
99
103
|
|
100
|
-
|
104
|
+
###### Screen resolution
|
101
105
|
|
102
106
|
Specify the screen resolution for the machine in browserstack using the options `screen_width` and `screen_height`
|
103
107
|
|
@@ -107,7 +111,7 @@ Browsenator.for(:chrome, remote: :browserstack, screen_width: 1920, screen_heigh
|
|
107
111
|
|
108
112
|
You can find resolutions [here](https://www.browserstack.com/automate/capabilities)
|
109
113
|
|
110
|
-
|
114
|
+
###### Project name
|
111
115
|
|
112
116
|
Specify project name in Browserstack execution:
|
113
117
|
|
@@ -115,7 +119,7 @@ Specify project name in Browserstack execution:
|
|
115
119
|
Browsenator.for(:chrome, remote: :browserstack, project: 'Functional Test')
|
116
120
|
```
|
117
121
|
|
118
|
-
|
122
|
+
###### Local testing
|
119
123
|
|
120
124
|
By default local testing is set to false. You can enable it by setting `local_testing` to `true`:
|
121
125
|
|
@@ -123,7 +127,13 @@ By default local testing is set to false. You can enable it by setting `local_te
|
|
123
127
|
Browsenator.for(:chrome, remote: :browserstack, local_testing: true)
|
124
128
|
```
|
125
129
|
|
126
|
-
|
130
|
+
Additionally, you can specify an identifier for your local testing connection:
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
Browsenator.for(:chrome, remote: :browserstack, local_testing: true, local_identifier: 'aCRtDu')
|
134
|
+
```
|
135
|
+
|
136
|
+
Note: `local_testing` property will only set the correct capability so that local testing is enabled. However, to make it work, you still need to setup your [Local Testing connection](https://www.browserstack.com/local-testing) with Browserstack.
|
127
137
|
|
128
138
|
See the following example for a Linux machine.
|
129
139
|
|
@@ -131,13 +141,47 @@ First of all, download the linux binary and start your local testing connection:
|
|
131
141
|
|
132
142
|
$ wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
|
133
143
|
$ unzip BrowserStackLocal-linux-x64.zip
|
134
|
-
$ ./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY
|
144
|
+
$ ./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY
|
145
|
+
|
146
|
+
If using an identifier, remember to provide it when starting your connection:
|
147
|
+
|
148
|
+
$ ./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY --local-identifier aCRtDu
|
135
149
|
|
136
150
|
Run your tests. When you are done running your tests, stop your local testing connection (and remove the downloaded binary):
|
137
151
|
|
138
152
|
$ killall BrowserStackLocal
|
139
153
|
$ rm -f BrowserStackLocal*
|
140
154
|
|
155
|
+
#### Remote real mobile browser
|
156
|
+
|
157
|
+
It connects to real mobile devices, not emulators.
|
158
|
+
|
159
|
+
For starting a remote browser in a mobile device, you only need to specify the device. If you specify a iOS device it will start Safari browser, and if you specify an Android device it will start a Chrome/Native browser (this is an Appium restriction).
|
160
|
+
|
161
|
+
```ruby
|
162
|
+
Browsenator.for(:samsung_galaxy_s8, remote: :browserstack)
|
163
|
+
```
|
164
|
+
|
165
|
+
You can start the following remote **real** mobile browsers: `:samsung_galaxy_s8`, `:iphone8`.
|
166
|
+
|
167
|
+
##### Device orientation
|
168
|
+
|
169
|
+
By default the device orientation is portrait. If you want to test in landscape mode you can specify so:
|
170
|
+
|
171
|
+
```ruby
|
172
|
+
Browsenator.for(:samsung_galaxy_s8, remote: :browserstack, device_orientation: 'landscape')
|
173
|
+
```
|
174
|
+
|
175
|
+
##### Defaults
|
176
|
+
|
177
|
+
- Orientation: Portrait
|
178
|
+
- Samsung Galaxy S8: Android 7.0
|
179
|
+
- iPhone 8: iOS 11.0
|
180
|
+
|
181
|
+
##### Other configurations
|
182
|
+
|
183
|
+
You can specify the project name and enable local testing, the same way it's done with desktop browsers.
|
184
|
+
|
141
185
|
## Development
|
142
186
|
|
143
187
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -146,9 +190,9 @@ The code follows [Ruby Style Guidelines](https://github.com/bbatsov/ruby-style-g
|
|
146
190
|
|
147
191
|
Code coverage is automatically generated when rspec is run. A full report can be viewed by opening coverage/index.html (target is > 90%).
|
148
192
|
|
149
|
-
### Adding more remote Browserstack browsers
|
193
|
+
### Adding more remote Browserstack desktop/mobile browsers
|
150
194
|
|
151
|
-
Go to Browserstack [capabilities section for Ruby](https://www.browserstack.com/automate/ruby#configure-capabilities) and select the operating system and browser you would like to add.
|
195
|
+
Go to Browserstack [capabilities section for Ruby](https://www.browserstack.com/automate/ruby#configure-capabilities) and select the operating system and browser you would like to add for a desktop browser, or the device and operating system for a mobile browser.
|
152
196
|
Use the capabilities Browserstack provides to start the new browser.
|
153
197
|
|
154
198
|
### Testing
|
data/lib/browsenator.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
|
+
require 'watir'
|
1
2
|
require 'webdrivers'
|
2
3
|
require_relative 'browsenator/local'
|
3
4
|
require_relative 'browsenator/remote/browserstack'
|
4
5
|
|
5
6
|
module Browsenator
|
6
|
-
def self.for(
|
7
|
+
def self.for(platform, opts = {})
|
7
8
|
remote = opts.delete(:remote)
|
8
9
|
|
9
10
|
case remote
|
10
11
|
when false, nil
|
11
|
-
Local.for(
|
12
|
+
Local.for(platform, opts)
|
12
13
|
when :browserstack
|
13
|
-
Remote::Browserstack.for(
|
14
|
+
Remote::Browserstack.for(platform, opts)
|
14
15
|
else
|
15
16
|
raise ArgumentError, "Unknown remote: #{remote.inspect}"
|
16
17
|
end
|
data/lib/browsenator/local.rb
CHANGED
@@ -4,8 +4,8 @@ require_relative 'local/safari'
|
|
4
4
|
|
5
5
|
module Browsenator
|
6
6
|
module Local
|
7
|
-
def self.for(
|
8
|
-
case
|
7
|
+
def self.for(platform, opts = {})
|
8
|
+
case platform
|
9
9
|
when :chrome
|
10
10
|
Chrome.new(opts).open
|
11
11
|
when :firefox
|
@@ -13,7 +13,7 @@ module Browsenator
|
|
13
13
|
when :safari
|
14
14
|
Safari.new.open
|
15
15
|
else
|
16
|
-
raise ArgumentError, "Unknown local
|
16
|
+
raise ArgumentError, "Unknown local platform: #{platform.inspect}"
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -1,24 +1,49 @@
|
|
1
|
-
require_relative 'browserstack/
|
2
|
-
require_relative 'browserstack/
|
3
|
-
require_relative 'browserstack/
|
4
|
-
require_relative 'browserstack/
|
1
|
+
require_relative 'browserstack/browserstack_credentials'
|
2
|
+
require_relative 'browserstack/desktop/chrome'
|
3
|
+
require_relative 'browserstack/desktop/safari'
|
4
|
+
require_relative 'browserstack/desktop/edge'
|
5
|
+
require_relative 'browserstack/desktop/ie'
|
6
|
+
require_relative 'browserstack/mobile/samsung_galaxy_s8'
|
7
|
+
require_relative 'browserstack/mobile/iphone8'
|
5
8
|
|
6
9
|
module Browsenator
|
7
10
|
module Remote
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
when :edge
|
16
|
-
Edge.new(opts).open
|
17
|
-
when :ie
|
18
|
-
IE.new(opts).open
|
19
|
-
else
|
20
|
-
raise ArgumentError, "Unknown Browserstack browser: #{browser.inspect}"
|
11
|
+
class Browserstack
|
12
|
+
include BrowserstackCredentials
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def for(platform, opts = {})
|
16
|
+
return platform_class[platform].new(opts).open if platform_class.key?(platform)
|
17
|
+
raise ArgumentError, "Unknown Browserstack platform: #{platform.inspect}"
|
21
18
|
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def platform_class
|
23
|
+
{
|
24
|
+
chrome: Desktop::Chrome,
|
25
|
+
safari: Desktop::Safari,
|
26
|
+
edge: Desktop::Edge,
|
27
|
+
ie: Desktop::IE,
|
28
|
+
samsung_galaxy_s8: Mobile::SamsungGalaxyS8,
|
29
|
+
iphone8: Mobile::Iphone8
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def open
|
35
|
+
Watir::Browser.new :remote, options
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
attr_reader :caps
|
41
|
+
|
42
|
+
def options
|
43
|
+
{
|
44
|
+
url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
|
45
|
+
desired_capabilities: caps
|
46
|
+
}
|
22
47
|
end
|
23
48
|
end
|
24
49
|
end
|
@@ -1,9 +1,15 @@
|
|
1
|
-
module
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Browsenator
|
2
|
+
module Remote
|
3
|
+
class Browserstack
|
4
|
+
module BrowserstackCredentials
|
5
|
+
def username
|
6
|
+
ENV['BROWSERSTACK_USERNAME']
|
7
|
+
end
|
5
8
|
|
6
|
-
|
7
|
-
|
9
|
+
def access_key
|
10
|
+
ENV['BROWSERSTACK_ACCESS_KEY']
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
8
14
|
end
|
9
15
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative 'screen_size'
|
2
|
+
|
3
|
+
module Browsenator
|
4
|
+
module Remote
|
5
|
+
class Browserstack
|
6
|
+
class Desktop
|
7
|
+
class Chrome < Browserstack
|
8
|
+
include ScreenSize
|
9
|
+
|
10
|
+
def initialize(opts = {})
|
11
|
+
@caps = Selenium::WebDriver::Remote::Capabilities.new
|
12
|
+
@caps['browser'] = 'Chrome'
|
13
|
+
@caps['browser_version'] = opts[:browser_version] || '66.0'
|
14
|
+
@caps['os'] = 'OS X'
|
15
|
+
@caps['os_version'] = 'High Sierra'
|
16
|
+
@caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
17
|
+
@caps['project'] = opts[:project]
|
18
|
+
@caps['browserstack.local'] = opts[:local_testing].to_s
|
19
|
+
@caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative 'screen_size'
|
2
|
+
|
3
|
+
module Browsenator
|
4
|
+
module Remote
|
5
|
+
class Browserstack
|
6
|
+
class Desktop
|
7
|
+
class Edge < Browserstack
|
8
|
+
include ScreenSize
|
9
|
+
|
10
|
+
def initialize(opts = {})
|
11
|
+
@caps = Selenium::WebDriver::Remote::Capabilities.new
|
12
|
+
@caps['browser'] = 'Edge'
|
13
|
+
@caps['browser_version'] = opts[:browser_version] || '17.0'
|
14
|
+
@caps['os'] = 'Windows'
|
15
|
+
@caps['os_version'] = '10'
|
16
|
+
@caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
17
|
+
@caps['project'] = opts[:project]
|
18
|
+
@caps['browserstack.local'] = opts[:local_testing].to_s
|
19
|
+
@caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative 'screen_size'
|
2
|
+
|
3
|
+
module Browsenator
|
4
|
+
module Remote
|
5
|
+
class Browserstack
|
6
|
+
class Desktop
|
7
|
+
class IE < Browserstack
|
8
|
+
include ScreenSize
|
9
|
+
|
10
|
+
def initialize(opts = {})
|
11
|
+
@caps = Selenium::WebDriver::Remote::Capabilities.new
|
12
|
+
@caps['browser'] = 'IE'
|
13
|
+
@caps['browser_version'] = opts[:browser_version] || '11.0'
|
14
|
+
@caps['os'] = 'Windows'
|
15
|
+
@caps['os_version'] = '10'
|
16
|
+
@caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
17
|
+
@caps['project'] = opts[:project]
|
18
|
+
@caps['browserstack.local'] = opts[:local_testing].to_s
|
19
|
+
@caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require_relative 'screen_size'
|
2
|
+
|
3
|
+
module Browsenator
|
4
|
+
module Remote
|
5
|
+
class Browserstack
|
6
|
+
class Desktop
|
7
|
+
class Safari < Browserstack
|
8
|
+
include ScreenSize
|
9
|
+
|
10
|
+
def initialize(opts = {})
|
11
|
+
browser_version = opts[:browser_version] || '11.1'
|
12
|
+
|
13
|
+
@caps = Selenium::WebDriver::Remote::Capabilities.new
|
14
|
+
@caps['browser'] = 'Safari'
|
15
|
+
@caps['browser_version'] = browser_version
|
16
|
+
@caps['os'] = 'OS X'
|
17
|
+
@caps['os_version'] = @@os_version[browser_version]
|
18
|
+
@caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
19
|
+
@caps['project'] = opts[:project]
|
20
|
+
@caps['browserstack.local'] = opts[:local_testing].to_s
|
21
|
+
@caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
22
|
+
end
|
23
|
+
|
24
|
+
@@os_version = {
|
25
|
+
'11.1' => 'High Sierra',
|
26
|
+
'10.1' => 'Sierra',
|
27
|
+
'9.1' => 'El Capitan',
|
28
|
+
'8.0' => 'Yosemite',
|
29
|
+
'7.1' => 'Mavericks',
|
30
|
+
'6.2' => 'Mountain Lion',
|
31
|
+
'6.0' => 'Lion',
|
32
|
+
'5.1' => 'Snow Leopard'
|
33
|
+
}
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Browsenator
|
2
|
+
module Remote
|
3
|
+
class Browserstack
|
4
|
+
class Mobile
|
5
|
+
class Iphone8 < Browserstack
|
6
|
+
def initialize(opts = {})
|
7
|
+
@caps = Selenium::WebDriver::Remote::Capabilities.new
|
8
|
+
@caps['os_version'] = '11.0'
|
9
|
+
@caps['device'] = 'iPhone 8'
|
10
|
+
@caps['real_mobile'] = 'true'
|
11
|
+
@caps['deviceOrientation'] = opts[:device_orientation] || 'portrait'
|
12
|
+
@caps['project'] = opts[:project]
|
13
|
+
@caps['browserstack.appium_version'] = '1.7.0'
|
14
|
+
@caps['browserstack.local'] = (opts[:local_testing] || 'false').to_s
|
15
|
+
@caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Browsenator
|
2
|
+
module Remote
|
3
|
+
class Browserstack
|
4
|
+
class Mobile
|
5
|
+
class SamsungGalaxyS8 < Browserstack
|
6
|
+
def initialize(opts = {})
|
7
|
+
@caps = Selenium::WebDriver::Remote::Capabilities.new
|
8
|
+
@caps['os_version'] = '7.0'
|
9
|
+
@caps['device'] = 'Samsung Galaxy S8'
|
10
|
+
@caps['real_mobile'] = 'true'
|
11
|
+
@caps['deviceOrientation'] = opts[:device_orientation] || 'portrait'
|
12
|
+
@caps['project'] = opts[:project]
|
13
|
+
@caps['browserstack.appium_version'] = '1.7.2'
|
14
|
+
@caps['browserstack.local'] = (opts[:local_testing] || 'false').to_s
|
15
|
+
@caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browsenator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aida Manna
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: watir
|
@@ -138,11 +138,13 @@ files:
|
|
138
138
|
- lib/browsenator/local/window_size.rb
|
139
139
|
- lib/browsenator/remote/browserstack.rb
|
140
140
|
- lib/browsenator/remote/browserstack/browserstack_credentials.rb
|
141
|
-
- lib/browsenator/remote/browserstack/chrome.rb
|
142
|
-
- lib/browsenator/remote/browserstack/edge.rb
|
143
|
-
- lib/browsenator/remote/browserstack/ie.rb
|
144
|
-
- lib/browsenator/remote/browserstack/safari.rb
|
145
|
-
- lib/browsenator/remote/browserstack/screen_size.rb
|
141
|
+
- lib/browsenator/remote/browserstack/desktop/chrome.rb
|
142
|
+
- lib/browsenator/remote/browserstack/desktop/edge.rb
|
143
|
+
- lib/browsenator/remote/browserstack/desktop/ie.rb
|
144
|
+
- lib/browsenator/remote/browserstack/desktop/safari.rb
|
145
|
+
- lib/browsenator/remote/browserstack/desktop/screen_size.rb
|
146
|
+
- lib/browsenator/remote/browserstack/mobile/iphone8.rb
|
147
|
+
- lib/browsenator/remote/browserstack/mobile/samsung_galaxy_s8.rb
|
146
148
|
homepage: https://github.com/aidamanna/browsenator
|
147
149
|
licenses:
|
148
150
|
- MIT
|
@@ -163,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
165
|
version: '0'
|
164
166
|
requirements: []
|
165
167
|
rubyforge_project:
|
166
|
-
rubygems_version: 2.
|
168
|
+
rubygems_version: 2.6.14
|
167
169
|
signing_key:
|
168
170
|
specification_version: 4
|
169
171
|
summary: Easily start different browsers
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'watir'
|
2
|
-
require_relative 'browserstack_credentials'
|
3
|
-
require_relative 'screen_size'
|
4
|
-
|
5
|
-
module Browsenator
|
6
|
-
module Remote
|
7
|
-
module Browserstack
|
8
|
-
class Chrome
|
9
|
-
include BrowserstackCredentials
|
10
|
-
include ScreenSize
|
11
|
-
|
12
|
-
def initialize(opts = {})
|
13
|
-
caps = Selenium::WebDriver::Remote::Capabilities.new
|
14
|
-
caps['browser'] = 'Chrome'
|
15
|
-
caps['browser_version'] = opts[:browser_version] || '66.0'
|
16
|
-
caps['os'] = 'OS X'
|
17
|
-
caps['os_version'] = 'High Sierra'
|
18
|
-
caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
19
|
-
caps['project'] = opts[:project]
|
20
|
-
caps['browserstack.local'] = opts[:local_testing].to_s
|
21
|
-
caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
22
|
-
|
23
|
-
@options = {
|
24
|
-
url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
|
25
|
-
desired_capabilities: caps
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
def open
|
30
|
-
Watir::Browser.new :remote, options
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
attr_reader :options
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'watir'
|
2
|
-
require_relative 'browserstack_credentials'
|
3
|
-
require_relative 'screen_size'
|
4
|
-
|
5
|
-
module Browsenator
|
6
|
-
module Remote
|
7
|
-
module Browserstack
|
8
|
-
class Edge
|
9
|
-
include BrowserstackCredentials
|
10
|
-
include ScreenSize
|
11
|
-
|
12
|
-
def initialize(opts = {})
|
13
|
-
caps = Selenium::WebDriver::Remote::Capabilities.new
|
14
|
-
caps['browser'] = 'Edge'
|
15
|
-
caps['browser_version'] = opts[:browser_version] || '17.0'
|
16
|
-
caps['os'] = 'Windows'
|
17
|
-
caps['os_version'] = '10'
|
18
|
-
caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
19
|
-
caps['project'] = opts[:project]
|
20
|
-
caps['browserstack.local'] = opts[:local_testing].to_s
|
21
|
-
caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
22
|
-
|
23
|
-
@options = {
|
24
|
-
url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
|
25
|
-
desired_capabilities: caps
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
def open
|
30
|
-
Watir::Browser.new :remote, options
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
attr_reader :options
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'watir'
|
2
|
-
require_relative 'browserstack_credentials'
|
3
|
-
require_relative 'screen_size'
|
4
|
-
|
5
|
-
module Browsenator
|
6
|
-
module Remote
|
7
|
-
module Browserstack
|
8
|
-
class IE
|
9
|
-
include BrowserstackCredentials
|
10
|
-
include ScreenSize
|
11
|
-
|
12
|
-
def initialize(opts = {})
|
13
|
-
caps = Selenium::WebDriver::Remote::Capabilities.new
|
14
|
-
caps['browser'] = 'IE'
|
15
|
-
caps['browser_version'] = opts[:browser_version] || '11.0'
|
16
|
-
caps['os'] = 'Windows'
|
17
|
-
caps['os_version'] = '10'
|
18
|
-
caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
19
|
-
caps['project'] = opts[:project]
|
20
|
-
caps['browserstack.local'] = opts[:local_testing].to_s
|
21
|
-
caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
22
|
-
|
23
|
-
@options = {
|
24
|
-
url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
|
25
|
-
desired_capabilities: caps
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
def open
|
30
|
-
Watir::Browser.new :remote, options
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
attr_reader :options
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'watir'
|
2
|
-
require_relative 'browserstack_credentials'
|
3
|
-
require_relative 'screen_size'
|
4
|
-
|
5
|
-
module Browsenator
|
6
|
-
module Remote
|
7
|
-
module Browserstack
|
8
|
-
class Safari
|
9
|
-
include BrowserstackCredentials
|
10
|
-
include ScreenSize
|
11
|
-
|
12
|
-
def initialize(opts = {})
|
13
|
-
browser_version = opts[:browser_version] || '11.1'
|
14
|
-
|
15
|
-
caps = Selenium::WebDriver::Remote::Capabilities.new
|
16
|
-
caps['browser'] = 'Safari'
|
17
|
-
caps['browser_version'] = browser_version
|
18
|
-
caps['os'] = 'OS X'
|
19
|
-
caps['os_version'] = @@os_version[browser_version]
|
20
|
-
caps['resolution'] = screen_resolution(opts[:screen_width], opts[:screen_height])
|
21
|
-
caps['project'] = opts[:project]
|
22
|
-
caps['browserstack.local'] = opts[:local_testing].to_s
|
23
|
-
caps['browserstack.localIdentifier'] = opts[:local_identifier]
|
24
|
-
|
25
|
-
@options = {
|
26
|
-
url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
|
27
|
-
desired_capabilities: caps
|
28
|
-
}
|
29
|
-
end
|
30
|
-
|
31
|
-
def open
|
32
|
-
Watir::Browser.new :remote, options
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
attr_reader :options
|
38
|
-
|
39
|
-
@@os_version = {
|
40
|
-
'11.1' => 'High Sierra',
|
41
|
-
'10.1' => 'Sierra',
|
42
|
-
'9.1' => 'El Capitan',
|
43
|
-
'8.0' => 'Yosemite',
|
44
|
-
'7.1' => 'Mavericks',
|
45
|
-
'6.2' => 'Mountain Lion',
|
46
|
-
'6.0' => 'Lion',
|
47
|
-
'5.1' => 'Snow Leopard'
|
48
|
-
}
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|