selenium-launcher 0.2.0 → 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/README.txt +2 -2
- data/lib/selenium-launcher.rb +2 -2
- data/lib/selenium-launcher/browsers/internet-explorer.rb +1 -1
- data/lib/selenium-launcher/launcher.rb +1 -1
- data/lib/selenium-launcher/version.rb +1 -1
- data/selenium-launcher.gemspec +15 -14
- data/spec/browser_spec.rb +5 -5
- data/spec/launcher_local_spec.rb +44 -0
- data/spec/launcher_remote_spec.rb +61 -0
- data/spec/{selenium-connect_spec.rb → selenium-launcher_spec.rb} +4 -3
- metadata +24 -8
- data/spec/launcher_spec.rb +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0db0e2e699312bd2345647b3bd2a0d2892dbcff
|
4
|
+
data.tar.gz: cc9753b81d9b560d4ad06b4736117862942b9830
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef55fde4373f8798a430a01fcc9444095cd48d46c6cf4640d3d16425847f7265b563f42aaf172ad483f85b1eb059771d35bb7112b3e7e3d77ffed2b6b26a2ace
|
7
|
+
data.tar.gz: 35f001cb06a6c5aa219d4177c209632e8f62615db652e434ea52e0fb89378d228e8c958cf2b7ef7623c405cd860606e68686c589a6f5c05053dbaadb06b72803
|
data/README.txt
CHANGED
@@ -26,9 +26,9 @@ sudo gem install selenium-launcher
|
|
26
26
|
|
27
27
|
Configuration occurs through a small set of environment variables:
|
28
28
|
|
29
|
-
SE_HOST (e.g., '
|
29
|
+
SE_HOST (e.g., 'remote', or nothing)
|
30
30
|
SE_HOST_URL (e.g., URL to Standalone Remote or Grid instance)
|
31
|
-
SE_BROWSER (e.g., 'chrome', 'firefox', '
|
31
|
+
SE_BROWSER (e.g., 'chrome', 'firefox', 'internet_explorer', 'safari')
|
32
32
|
|
33
33
|
If these values are not set properly, a RuntimeError will be returned along with a helpful message.
|
34
34
|
|
data/lib/selenium-launcher.rb
CHANGED
@@ -17,7 +17,7 @@ module SeleniumLauncher
|
|
17
17
|
private
|
18
18
|
|
19
19
|
ERRORS = { NoBrowserSpecified: 'You need to specify a browser (e.g., SE_BROWSER).',
|
20
|
-
NoGridURLSpecified: 'You need to specify a URL when using a
|
20
|
+
NoGridURLSpecified: 'You need to specify a URL when using a Remote node (e.g., SE_HOST_URL).' }
|
21
21
|
|
22
22
|
def browser_check
|
23
23
|
if ENV['SE_BROWSER'].nil?
|
@@ -26,7 +26,7 @@ module SeleniumLauncher
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def grid_check
|
29
|
-
if ENV['SE_HOST'] == '
|
29
|
+
if ENV['SE_HOST'] == 'remote'
|
30
30
|
if ENV['SE_HOST_URL'].nil?
|
31
31
|
raise ERRORS[:NoGridURLSpecified]
|
32
32
|
end
|
data/selenium-launcher.gemspec
CHANGED
@@ -4,22 +4,23 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'selenium-launcher/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'selenium-launcher'
|
8
8
|
spec.version = SeleniumLauncher::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.
|
12
|
-
spec.
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
9
|
+
spec.authors = ['Dave Haeffner']
|
10
|
+
spec.email = ['dhaeffner@gmail.com']
|
11
|
+
spec.description = %q{A simple way to configure and launch a Selenium instance}
|
12
|
+
spec.summary = %q{See README.txt}
|
13
|
+
spec.homepage = 'https://github.com/tourdedave/selenium-launcher'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
|
-
spec.files = `git ls-files -z`.split("\x0")
|
16
|
+
spec.files = `git ls-files -z`.split("\x0") - Dir.glob('spec/vendor/*')
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
|
-
spec.require_paths = [
|
18
|
+
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_dependency
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
20
|
+
spec.add_dependency 'selenium-webdriver', '~> 2.43.0'
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
22
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
23
|
+
spec.add_development_dependency 'rspec', '~> 3.1.0'
|
24
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.3.1'
|
25
|
+
spec.add_development_dependency 'typhoeus', '~> 0.6.9'
|
25
26
|
end
|
data/spec/browser_spec.rb
CHANGED
@@ -2,27 +2,27 @@ require_relative '../lib/selenium-launcher/browser'
|
|
2
2
|
|
3
3
|
describe 'Browser returns', :unit do
|
4
4
|
|
5
|
+
def browser
|
6
|
+
SeleniumLauncher::Browser.load
|
7
|
+
end
|
8
|
+
|
5
9
|
it 'Chrome' do
|
6
10
|
ENV['SE_BROWSER'] = 'chrome'
|
7
|
-
browser = SeleniumLauncher::Browser.load
|
8
11
|
expect(browser.class).to eql SeleniumLauncher::Browser::Chrome
|
9
12
|
end
|
10
13
|
|
11
14
|
it 'Firefox' do
|
12
15
|
ENV['SE_BROWSER'] = 'firefox'
|
13
|
-
browser = SeleniumLauncher::Browser.load
|
14
16
|
expect(browser.class).to eql SeleniumLauncher::Browser::Firefox
|
15
17
|
end
|
16
18
|
|
17
19
|
it 'Internet Explorer' do
|
18
|
-
ENV['SE_BROWSER'] = '
|
19
|
-
browser = SeleniumLauncher::Browser.load
|
20
|
+
ENV['SE_BROWSER'] = 'internet_explorer'
|
20
21
|
expect(browser.class).to eql SeleniumLauncher::Browser::InternetExplorer
|
21
22
|
end
|
22
23
|
|
23
24
|
it 'Safari' do
|
24
25
|
ENV['SE_BROWSER'] = 'safari'
|
25
|
-
browser = SeleniumLauncher::Browser.load
|
26
26
|
expect(browser.class).to eql SeleniumLauncher::Browser::Safari
|
27
27
|
end
|
28
28
|
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require_relative '../lib/selenium-launcher/launcher'
|
3
|
+
|
4
|
+
describe 'Launcher', :integration do
|
5
|
+
|
6
|
+
context '-> Localhost -> ' do
|
7
|
+
|
8
|
+
after(:each) do
|
9
|
+
@launcher.quit
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'Chrome' do
|
13
|
+
ENV['SE_BROWSER'] = 'chrome'
|
14
|
+
@launcher = SeleniumLauncher::Launcher.new
|
15
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
16
|
+
expect(@launcher.driver.browser).to eql :chrome
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'Firefox' do
|
20
|
+
ENV['SE_BROWSER'] = 'firefox'
|
21
|
+
@launcher = SeleniumLauncher::Launcher.new
|
22
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
23
|
+
expect(@launcher.driver.browser).to eql :firefox
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'Internet Explorer' do
|
27
|
+
pending 'Windows OS required' unless OS.windows?
|
28
|
+
ENV['SE_BROWSER'] = 'internet_explorer'
|
29
|
+
@launcher = SeleniumLauncher::Launcher.new
|
30
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
31
|
+
expect(@launcher.driver.browser).to eql :internet_explorer
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'Safari' do
|
35
|
+
skip 'Due to unresolved Selenium issue. See https://github.com/tourdedave/selenium-launcher/issues/3 for details.'
|
36
|
+
ENV['SE_BROWSER'] = 'safari'
|
37
|
+
@launcher = SeleniumLauncher::Launcher.new
|
38
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
39
|
+
expect(@launcher.driver.browser).to eql :safari
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require_relative '../lib/selenium-launcher/launcher'
|
3
|
+
require 'typhoeus'
|
4
|
+
|
5
|
+
describe 'Launcher', :integration do
|
6
|
+
|
7
|
+
def selenium_server_up?
|
8
|
+
Typhoeus.get(ENV['SE_HOST_URL'] + '/status').code == 200
|
9
|
+
end
|
10
|
+
|
11
|
+
before(:all) do
|
12
|
+
ENV['SE_HOST'] = 'remote'
|
13
|
+
ENV['SE_HOST_URL'] = 'http://localhost:4444/wd/hub'
|
14
|
+
@process_id = Process.spawn('java -jar spec/vendor/selenium-server-standalone-2.44.0.jar')
|
15
|
+
until selenium_server_up? do
|
16
|
+
sleep 2
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
after(:all) do
|
21
|
+
Process.kill("KILL", @process_id)
|
22
|
+
end
|
23
|
+
|
24
|
+
context '-> Remote -> ' do
|
25
|
+
|
26
|
+
after(:each) do
|
27
|
+
@launcher.driver.quit
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'Chrome' do
|
31
|
+
ENV['SE_BROWSER'] = 'chrome'
|
32
|
+
@launcher = SeleniumLauncher::Launcher.new
|
33
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
34
|
+
expect(@launcher.driver.browser).to eql :chrome
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'Firefox' do
|
38
|
+
ENV['SE_BROWSER'] = 'firefox'
|
39
|
+
@launcher = SeleniumLauncher::Launcher.new
|
40
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
41
|
+
expect(@launcher.driver.browser).to eql :firefox
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'Internet Explorer' do
|
45
|
+
pending 'Windows OS required' unless OS.windows?
|
46
|
+
ENV['SE_BROWSER'] = 'internet_explorer'
|
47
|
+
@launcher = SeleniumLauncher::Launcher.new
|
48
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
49
|
+
expect(@launcher.driver.browser).to eql :internet_explorer
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'Safari' do
|
53
|
+
skip 'Due to unresolved Selenium issue. See https://github.com/tourdedave/selenium-launcher/issues/3 for details.'
|
54
|
+
ENV['SE_BROWSER'] = 'safari'
|
55
|
+
@launcher = SeleniumLauncher::Launcher.new
|
56
|
+
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
57
|
+
expect(@launcher.driver.browser).to eql :safari
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
@@ -3,6 +3,7 @@ require_relative '../lib/selenium-launcher'
|
|
3
3
|
describe 'Selenium Launcher', :acceptance do
|
4
4
|
|
5
5
|
it 'runs' do
|
6
|
+
ENV['SE_HOST'] = nil
|
6
7
|
ENV['SE_BROWSER'] = 'firefox'
|
7
8
|
driver = SeleniumLauncher.launch
|
8
9
|
expect(driver.class).to eql Selenium::WebDriver::Driver
|
@@ -24,12 +25,12 @@ describe 'Selenium Launcher', :acceptance do
|
|
24
25
|
'You need to specify a browser (e.g., SE_BROWSER).')
|
25
26
|
end
|
26
27
|
|
27
|
-
it 'no
|
28
|
+
it 'no remote host URL' do
|
28
29
|
ENV['SE_BROWSER'] = 'firefox'
|
29
|
-
ENV['SE_HOST'] = '
|
30
|
+
ENV['SE_HOST'] = 'remote'
|
30
31
|
expect { driver = SeleniumLauncher.launch }.to raise_error(
|
31
32
|
RuntimeError,
|
32
|
-
'You need to specify a URL when using a
|
33
|
+
'You need to specify a URL when using a Remote node (e.g., SE_HOST_URL).')
|
33
34
|
end
|
34
35
|
|
35
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-launcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Haeffner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -80,7 +80,21 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 4.3.1
|
83
|
-
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: typhoeus
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.6.9
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.6.9
|
97
|
+
description: A simple way to configure and launch a Selenium instance
|
84
98
|
email:
|
85
99
|
- dhaeffner@gmail.com
|
86
100
|
executables: []
|
@@ -102,8 +116,9 @@ files:
|
|
102
116
|
- lib/selenium-launcher/version.rb
|
103
117
|
- selenium-launcher.gemspec
|
104
118
|
- spec/browser_spec.rb
|
105
|
-
- spec/
|
106
|
-
- spec/
|
119
|
+
- spec/launcher_local_spec.rb
|
120
|
+
- spec/launcher_remote_spec.rb
|
121
|
+
- spec/selenium-launcher_spec.rb
|
107
122
|
- spec/spec_helper.rb
|
108
123
|
homepage: https://github.com/tourdedave/selenium-launcher
|
109
124
|
licenses:
|
@@ -128,9 +143,10 @@ rubyforge_project:
|
|
128
143
|
rubygems_version: 2.2.2
|
129
144
|
signing_key:
|
130
145
|
specification_version: 4
|
131
|
-
summary:
|
146
|
+
summary: See README.txt
|
132
147
|
test_files:
|
133
148
|
- spec/browser_spec.rb
|
134
|
-
- spec/
|
135
|
-
- spec/
|
149
|
+
- spec/launcher_local_spec.rb
|
150
|
+
- spec/launcher_remote_spec.rb
|
151
|
+
- spec/selenium-launcher_spec.rb
|
136
152
|
- spec/spec_helper.rb
|
data/spec/launcher_spec.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
require_relative 'spec_helper'
|
2
|
-
require_relative '../lib/selenium-launcher/launcher'
|
3
|
-
|
4
|
-
describe 'Launcher', :integration do
|
5
|
-
|
6
|
-
after(:each) do
|
7
|
-
@launcher.quit
|
8
|
-
end
|
9
|
-
|
10
|
-
context '-> Localhost -> ' do
|
11
|
-
|
12
|
-
it 'Chrome' do
|
13
|
-
ENV['SE_BROWSER'] = 'chrome'
|
14
|
-
@launcher = SeleniumLauncher::Launcher.new
|
15
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
16
|
-
expect(@launcher.driver.browser).to eql :chrome
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'Firefox' do
|
20
|
-
ENV['SE_BROWSER'] = 'firefox'
|
21
|
-
@launcher = SeleniumLauncher::Launcher.new
|
22
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
23
|
-
expect(@launcher.driver.browser).to eql :firefox
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'Internet Explorer' do
|
27
|
-
pending 'Windows OS required' unless OS.windows?
|
28
|
-
ENV['SE_BROWSER'] = 'internet-explorer'
|
29
|
-
@launcher = SeleniumLauncher::Launcher.new
|
30
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
31
|
-
expect(@launcher.driver.browser).to eql :"internet-explorer"
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'Safari' do
|
35
|
-
ENV['SE_BROWSER'] = 'safari'
|
36
|
-
@launcher = SeleniumLauncher::Launcher.new
|
37
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
38
|
-
expect(@launcher.driver.browser).to eql :safari
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
context '-> Grid -> ' do
|
44
|
-
|
45
|
-
before(:all) do
|
46
|
-
ENV['SE_HOST'] = 'grid'
|
47
|
-
ENV['SE_HOST_URL'] = 'http://localhost:4444/wd/hub'
|
48
|
-
# Start Selenium Standalone Server
|
49
|
-
# For help downloading, see https://github.com/tourdedave/selenium-prep
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'Chrome' do
|
53
|
-
ENV['SE_BROWSER'] = 'chrome'
|
54
|
-
@launcher = SeleniumLauncher::Launcher.new
|
55
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
56
|
-
expect(@launcher.driver.browser).to eql :chrome
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'Firefox' do
|
60
|
-
ENV['SE_BROWSER'] = 'firefox'
|
61
|
-
@launcher = SeleniumLauncher::Launcher.new
|
62
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
63
|
-
expect(@launcher.driver.browser).to eql :firefox
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'Internet Explorer' do
|
67
|
-
pending 'Windows OS required' unless OS.windows?
|
68
|
-
ENV['SE_BROWSER'] = 'internet-explorer'
|
69
|
-
@launcher = SeleniumLauncher::Launcher.new
|
70
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
71
|
-
expect(@launcher.driver.browser).to eql :"internet-explorer"
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'Safari' do
|
75
|
-
ENV['SE_BROWSER'] = 'safari'
|
76
|
-
@launcher = SeleniumLauncher::Launcher.new
|
77
|
-
expect(@launcher.driver.class).to eql Selenium::WebDriver::Driver
|
78
|
-
expect(@launcher.driver.browser).to eql :safari
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
82
|
-
end
|