sauce 0.17.6 → 0.17.7
Sign up to get free protection for your applications and to get access to all the features.
- data/generators/sauce/sauce_generator.rb +1 -1
- data/lib/generators/sauce/install/install_generator.rb +11 -10
- data/lib/sauce/connect.rb +12 -3
- data/lib/sauce/selenium.rb +4 -1
- data/sauce.gemspec +2 -2
- metadata +4 -4
@@ -39,7 +39,7 @@ require 'sauce'
|
|
39
39
|
Sauce.config do |conf|
|
40
40
|
conf.browser_url = "http://#{rand(100000)}.test/"
|
41
41
|
conf.browsers = [
|
42
|
-
["Windows 2003", "firefox", "3."]
|
42
|
+
["Windows 2003", "firefox", "3.6."]
|
43
43
|
]
|
44
44
|
conf.application_host = "127.0.0.1"
|
45
45
|
conf.application_port = "3001"
|
@@ -37,16 +37,17 @@ module Sauce
|
|
37
37
|
def generate_config
|
38
38
|
@random_id ||= rand(100000)
|
39
39
|
return <<-CONFIG
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
]
|
47
|
-
|
48
|
-
|
49
|
-
|
40
|
+
|
41
|
+
require 'sauce'
|
42
|
+
|
43
|
+
Sauce.config do |conf|
|
44
|
+
conf.browser_url = "http://#{@random_id}.test/"
|
45
|
+
conf.browsers = [
|
46
|
+
["Windows 2003", "firefox", "3.6."]
|
47
|
+
]
|
48
|
+
conf.application_host = "127.0.0.1"
|
49
|
+
conf.application_port = "3001"
|
50
|
+
end
|
50
51
|
CONFIG
|
51
52
|
end
|
52
53
|
end
|
data/lib/sauce/connect.rb
CHANGED
@@ -16,7 +16,8 @@ module Sauce
|
|
16
16
|
options.delete(:tunnel_port)
|
17
17
|
config = Sauce::Config.new(options)
|
18
18
|
args = ['-u', config.username, '-k', config.access_key, '-s', host, '-p', port, '-d', config.domain, '-t', tunnel_port]
|
19
|
-
@pipe = IO.popen((["exec", "\"#{Sauce::Connect.find_sauce_connect}\""] + args).join(' '))
|
19
|
+
@pipe = IO.popen((["exec", "\"#{Sauce::Connect.find_sauce_connect}\""] + args + ["2>&1"]).join(' '))
|
20
|
+
@process_status = $?
|
20
21
|
at_exit do
|
21
22
|
Process.kill("INT", @pipe.pid)
|
22
23
|
while @ready
|
@@ -34,7 +35,11 @@ module Sauce
|
|
34
35
|
if line =~ /- (Problem.*)$/
|
35
36
|
@error = $1
|
36
37
|
end
|
37
|
-
|
38
|
+
if line =~ /== Missing requirements ==/
|
39
|
+
@error = "Missing requirements"
|
40
|
+
options[:quiet] = false
|
41
|
+
end
|
42
|
+
$stderr.puts line unless options[:quiet]
|
38
43
|
end
|
39
44
|
@ready = false
|
40
45
|
}
|
@@ -42,10 +47,14 @@ module Sauce
|
|
42
47
|
|
43
48
|
def wait_until_ready
|
44
49
|
start = Time.now
|
45
|
-
while !@ready and (Time.now-start) < TIMEOUT
|
50
|
+
while !@ready and (Time.now-start) < TIMEOUT and @error != "Missing requirements"
|
46
51
|
sleep 0.4
|
47
52
|
end
|
48
53
|
|
54
|
+
if @error == "Missing requirements"
|
55
|
+
raise "Missing requirements"
|
56
|
+
end
|
57
|
+
|
49
58
|
if !@ready
|
50
59
|
raise "Sauce Connect failed to connect after #{TIMEOUT} seconds"
|
51
60
|
end
|
data/lib/sauce/selenium.rb
CHANGED
@@ -13,7 +13,10 @@ module Sauce
|
|
13
13
|
class Selenium2
|
14
14
|
def initialize(opts={})
|
15
15
|
@config = Sauce::Config.new(opts)
|
16
|
-
|
16
|
+
http_client = Selenium::WebDriver::Remote::Http::Default.new
|
17
|
+
http_client.timeout = 300 # Browser launch can take a while
|
18
|
+
@driver = ::Selenium::WebDriver.for(:remote, :url => "http://#{@config.username}:#{@config.access_key}@#{@config.host}:#{@config.port}/wd/hub", :desired_capabilities => @config.to_desired_capabilities, :http_client => http_client)
|
19
|
+
http_client.timeout = 90 # Once the browser is up, commands should time out reasonably
|
17
20
|
end
|
18
21
|
|
19
22
|
def method_missing(meth, *args)
|
data/sauce.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{sauce}
|
5
|
-
s.version = "0.17.
|
5
|
+
s.version = "0.17.7"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Sean Grove", "Eric Allen", "Steven Hazel"]
|
9
|
-
s.date = %q{2011-
|
9
|
+
s.date = %q{2011-03-10}
|
10
10
|
s.default_executable = %q{sauce}
|
11
11
|
s.description = %q{A Ruby interface to Sauce Labs' services. Start/stop tunnels, retrieve Selenium logs, access video replays, etc.}
|
12
12
|
s.email = %q{help@saucelabs.com}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sauce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 85
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 17
|
9
|
-
-
|
10
|
-
version: 0.17.
|
9
|
+
- 7
|
10
|
+
version: 0.17.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sean Grove
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-
|
20
|
+
date: 2011-03-10 00:00:00 -08:00
|
21
21
|
default_executable: sauce
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|