browsenator 1.1.3 → 1.2.0

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
- SHA256:
3
- metadata.gz: 1df300ccd6a8a359e00fe075bad072d7d090509afcad1121ba9e308dc41ec5b6
4
- data.tar.gz: 275b6e48ed9eecc171345cc05d9740760b70eb9979fb9fcf3f9e38038421778a
2
+ SHA1:
3
+ metadata.gz: c1cd8f665aeaf00307ed5a3a1b301968732bf96a
4
+ data.tar.gz: '0095335900ac81f7d4490dddf3faa6cc639f6391'
5
5
  SHA512:
6
- metadata.gz: 64e855a051d847a9d8d2f36cc5ed0dcbabae6466bdca31966dc50bd8c42bbb017a127f736e46dd15fa057b0fbdf2eacd15dee06a97d9607e8b50cc028d6731d3
7
- data.tar.gz: d85f9a4a1710d2e1d2efb78de50ce77a31bc6229f3d9759ba4a523d956e821aea9f1ccd0beab500fabd62413d73ab66a03957016049cf49be849a4fb94609a0a
6
+ metadata.gz: 252fef826e7159eec60a23375860b1af348d4c9b71991cbda67a11cac14bed7041010f243496bd157905425999f220fc7f10cd1ccab61be6ad234fa95cfd447d
7
+ data.tar.gz: bf78b9a71de6a2811cd8b53173e2a36079adca64b4b4d8d0b6b0cce19d890efacc2b01f7400ac58039155bfb6a20cd1d4f253495473b5a2b79eea0a1cfee6658
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Browsenator
2
- [![Build Status](https://travis-ci.com/Typeform/browsenator.svg?token=4XnFa7v9wzSNqUXXdfpX&branch=master)](https://travis-ci.com/Typeform/browsenator)
2
+ [![Build Status](https://travis-ci.org/aidamanna/browsenator.svg?branch=master)](https://travis-ci.org/aidamanna/browsenator)
3
3
 
4
4
  Browsenator is a Watir wrapper to make starting local and remote browsers easier.
5
5
 
@@ -9,15 +9,19 @@ Big thanks to Browserstack for allowing us to use their tool for developing this
9
9
 
10
10
  ## Installation
11
11
 
12
- Install Browsenator as a Gem from git:
12
+ Add this line to your application's Gemfile:
13
13
 
14
14
  ```ruby
15
- gem 'browsenator', git: git@github.com:Typeform/browsenator.git
15
+ gem 'browsenator'
16
16
  ```
17
17
 
18
- And then in your project execute:
18
+ And then execute:
19
19
 
20
- $ bundle install
20
+ $ bundle
21
+
22
+ Or install it yourself as:
23
+
24
+ $ gem install aida
21
25
 
22
26
  ## Configuration
23
27
 
@@ -44,9 +48,26 @@ Chrome and Firefox browsers can be started in headless mode:
44
48
  Browsenator.for(:chrome, headless: true)
45
49
  ```
46
50
 
51
+ If you specify headless property for Safari, Browsenator will just ignore it.
52
+
53
+ #### Browser versions
54
+ For local browsers Browsenator will always start the browser version that you have installed in your computer.
55
+
56
+ Additionally, you will need to have installed the corresponding browser driver:
57
+
58
+ - Google Chrome: chromedriver
59
+ - Mozilla Firefox: geckodriver
60
+ - Apple Safari: safaridriver (no download is needed, it is pre-installed if you have Safari 10 or latter).
61
+
62
+ In Safari, you will also need to allow remote automation option (under Develop menu).
63
+
64
+ #### Defaults
65
+
66
+ - Browser window is resized to: 1004 x 748
67
+
47
68
  ### Remote browser
48
69
 
49
- To start a remote browser:
70
+ Start a remote browser:
50
71
 
51
72
  ```ruby
52
73
  Browsenator.for(:chrome, remote: :browserstack)
@@ -54,7 +75,58 @@ Browsenator.for(:chrome, remote: :browserstack)
54
75
 
55
76
  Currently, remote browsers are only available through Browserstack.
56
77
 
57
- You can start the following remote browsers: `:chrome`, `:safari`.
78
+ You can start the following remote browsers: `:chrome`, `:safari`, `:edge`, `:ie`.
79
+
80
+ #### Browser versions
81
+
82
+ You can specify the browser version you want to use:
83
+
84
+ ```ruby
85
+ Browsenator.for(:chrome, remote: :browserstack, browser_version: '65.0')
86
+ ```
87
+
88
+ Check [capabilities](https://www.browserstack.com/automate/capabilities) in Browserstack to know which browser versions to use.
89
+
90
+ #### Defaults
91
+
92
+ - Resolution: 1024 x 768
93
+ - Chrome browser: v66 - High Sierra
94
+ - Safari browser: v11.1 - High Sierra
95
+ - Edge browser: v17 - Windows 10
96
+ - IE browser: v11 - Windows 10
97
+
98
+ #### Other configurations
99
+
100
+ ##### Project name
101
+
102
+ Specify project name in Browserstack execution:
103
+
104
+ ```ruby
105
+ Browsenator.for(:chrome, remote: :browserstack, project: 'Functional Test')
106
+ ```
107
+
108
+ ##### Local testing
109
+
110
+ By default local testing is set to false. You can enable it by setting `local_testing` to `true`:
111
+
112
+ ```ruby
113
+ Browsenator.for(:chrome, remote: :browserstack, local_testing: true)
114
+ ```
115
+
116
+ Note: This 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.
117
+
118
+ See the following example for a Linux machine.
119
+
120
+ First of all, download the linux binary and start your local testing connection:
121
+
122
+ $ wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
123
+ $ unzip BrowserStackLocal-linux-x64.zip
124
+ $ ./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY & sleep 5
125
+
126
+ Run your tests. When you are done running your tests, stop your local testing connection (and remove the downloaded binary):
127
+
128
+ $ killall BrowserStackLocal
129
+ $ rm -f BrowserStackLocal*
58
130
 
59
131
  ## Development
60
132
 
@@ -12,11 +12,12 @@ module Browsenator
12
12
  def initialize(opts = {})
13
13
  caps = Selenium::WebDriver::Remote::Capabilities.new
14
14
  caps['browser'] = 'Chrome'
15
- caps['browser_version'] = '66.0'
15
+ caps['browser_version'] = opts[:browser_version] || '66.0'
16
16
  caps['os'] = 'OS X'
17
17
  caps['os_version'] = 'High Sierra'
18
18
  caps['resolution'] = "#{width}x#{height}"
19
19
  caps['project'] = opts[:project]
20
+ caps['browserstack.local'] = opts[:local_testing].to_s
20
21
 
21
22
  @options = {
22
23
  url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
@@ -0,0 +1,38 @@
1
+ require 'watir'
2
+ require_relative 'browserstack_credentials'
3
+ require_relative 'window_size'
4
+
5
+ module Browsenator
6
+ module Remote
7
+ module Browserstack
8
+ class Edge
9
+ include BrowserstackCredentials
10
+ include WindowSize
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'] = "#{width}x#{height}"
19
+ caps['project'] = opts[:project]
20
+ caps['browserstack.local'] = opts[:local_testing].to_s
21
+
22
+ @options = {
23
+ url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
24
+ desired_capabilities: caps
25
+ }
26
+ end
27
+
28
+ def open
29
+ Watir::Browser.new :remote, options
30
+ end
31
+
32
+ private
33
+
34
+ attr_reader :options
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ require 'watir'
2
+ require_relative 'browserstack_credentials'
3
+ require_relative 'window_size'
4
+
5
+ module Browsenator
6
+ module Remote
7
+ module Browserstack
8
+ class IE
9
+ include BrowserstackCredentials
10
+ include WindowSize
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'] = "#{width}x#{height}"
19
+ caps['project'] = opts[:project]
20
+ caps['browserstack.local'] = opts[:local_testing].to_s
21
+
22
+ @options = {
23
+ url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
24
+ desired_capabilities: caps
25
+ }
26
+ end
27
+
28
+ def open
29
+ Watir::Browser.new :remote, options
30
+ end
31
+
32
+ private
33
+
34
+ attr_reader :options
35
+ end
36
+ end
37
+ end
38
+ end
@@ -10,13 +10,16 @@ module Browsenator
10
10
  include WindowSize
11
11
 
12
12
  def initialize(opts = {})
13
+ browser_version = opts[:browser_version] || '11.1'
14
+
13
15
  caps = Selenium::WebDriver::Remote::Capabilities.new
14
16
  caps['browser'] = 'Safari'
15
- caps['browser_version'] = '11.1'
17
+ caps['browser_version'] = browser_version
16
18
  caps['os'] = 'OS X'
17
- caps['os_version'] = 'High Sierra'
19
+ caps['os_version'] = @@os_version[browser_version]
18
20
  caps['resolution'] = "#{width}x#{height}"
19
21
  caps['project'] = opts[:project]
22
+ caps['browserstack.local'] = opts[:local_testing].to_s
20
23
 
21
24
  @options = {
22
25
  url: "http://#{username}:#{access_key}@hub-cloud.browserstack.com/wd/hub",
@@ -31,6 +34,17 @@ module Browsenator
31
34
  private
32
35
 
33
36
  attr_reader :options
37
+
38
+ @@os_version = {
39
+ '11.1' => 'High Sierra',
40
+ '10.1' => 'Sierra',
41
+ '9.1' => 'El Capitan',
42
+ '8.0' => 'Yosemite',
43
+ '7.1' => 'Mavericks',
44
+ '6.2' => 'Mountain Lion',
45
+ '6.0' => 'Lion',
46
+ '5.1' => 'Snow Leopard'
47
+ }
34
48
  end
35
49
  end
36
50
  end
@@ -1,5 +1,7 @@
1
1
  require_relative 'browserstack/chrome'
2
2
  require_relative 'browserstack/safari'
3
+ require_relative 'browserstack/edge'
4
+ require_relative 'browserstack/ie'
3
5
 
4
6
  module Browsenator
5
7
  module Remote
@@ -10,6 +12,10 @@ module Browsenator
10
12
  Chrome.new(opts).open
11
13
  when :safari
12
14
  Safari.new(opts).open
15
+ when :edge
16
+ Edge.new(opts).open
17
+ when :ie
18
+ IE.new(opts).open
13
19
  else
14
20
  raise ArgumentError, "Unknown Browserstack browser: #{browser.inspect}"
15
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.1.3
4
+ version: 1.2.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-05-18 00:00:00.000000000 Z
11
+ date: 2018-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: watir
@@ -139,6 +139,8 @@ files:
139
139
  - lib/browsenator/remote/browserstack.rb
140
140
  - lib/browsenator/remote/browserstack/browserstack_credentials.rb
141
141
  - lib/browsenator/remote/browserstack/chrome.rb
142
+ - lib/browsenator/remote/browserstack/edge.rb
143
+ - lib/browsenator/remote/browserstack/ie.rb
142
144
  - lib/browsenator/remote/browserstack/safari.rb
143
145
  - lib/browsenator/remote/browserstack/window_size.rb
144
146
  homepage: https://github.com/Typeform/browsenator
@@ -160,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
162
  version: '0'
161
163
  requirements: []
162
164
  rubyforge_project:
163
- rubygems_version: 2.7.7
165
+ rubygems_version: 2.6.14
164
166
  signing_key:
165
167
  specification_version: 4
166
168
  summary: Easily start different browsers