rally-jasmine 1.2.0.8 → 1.2.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,11 +3,9 @@ module Jasmine
3
3
  def initialize(browser, http_address)
4
4
  require 'selenium-webdriver'
5
5
 
6
- ::Selenium::WebDriver::Driver.send(:attr_accessor, :bridge)
7
- ::Selenium::WebDriver::Remote::Bridge.send(:attr_accessor, :http)
8
- ::Selenium::WebDriver::Remote::Http::Default.send(:attr_accessor, :server_url)
6
+ @usingWebDriverJS = (ENV['JASMINE_USE_WEBDRIVERJS'] || 'false').downcase == 'true'
9
7
 
10
- selenium_server = if ENV['SELENIUM_SERVER']
8
+ @selenium_server = if ENV['SELENIUM_SERVER']
11
9
  ENV['SELENIUM_SERVER']
12
10
  elsif ENV['SELENIUM_SERVER_PORT']
13
11
  "http://localhost:#{ENV['SELENIUM_SERVER_PORT']}/wd/hub"
@@ -24,8 +22,31 @@ module Jasmine
24
22
  end || {}
25
23
  http_client = Selenium::WebDriver::Remote::Http::Default.new
26
24
  http_client.timeout = 600 # seconds
27
- @driver = if selenium_server
28
- Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => browser.to_sym, :http_client => http_client
25
+ @driver = if @usingWebDriverJS
26
+ unless @selenium_server
27
+ require 'selenium/server'
28
+ selenium_jar_path = ENV['SELENIUM_JAR_PATH']
29
+ selenium_server_args = ENV['SELENIUM_SERVER_ARGS']
30
+ if selenium_jar_path
31
+ begin
32
+ @server = Selenium::Server.new(selenium_jar_path, :background => true)
33
+ rescue Errno::ENOENT => e
34
+ raise e, "Unable to find selenium jar. Is ENV['SELENIUM_JAR_PATH'] correct? #{e.message}", e.backtrace
35
+ end
36
+ else
37
+ @server = Selenium::Server.get(ENV['SELENIUM_VERSION'] || '2.29.0', :background => true)
38
+ end
39
+ @server << selenium_server_args if selenium_server_args
40
+ @server.start
41
+ @selenium_server = @server.webdriver_url
42
+ end
43
+ capabilities_opts = {:native_events => false}
44
+ browser_version = ENV["#{browser.to_s.upcase}_VERSION"]
45
+ capabilities_opts[:version] = browser_version if browser_version
46
+ Selenium::WebDriver.for :remote,
47
+ :url => @selenium_server,
48
+ :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.send(browser.to_sym, capabilities_opts),
49
+ :http_client => http_client
29
50
  else
30
51
  Selenium::WebDriver.for browser.to_sym, options.merge(:http_client => http_client)
31
52
  end
@@ -33,17 +54,22 @@ module Jasmine
33
54
  end
34
55
 
35
56
  def connect
36
- wdsid = @driver.bridge.session_id
37
- wduri = @driver.bridge.http.server_url
57
+ if @usingWebDriverJS
58
+ wdsid = @driver.capabilities['webdriver.remote.sessionid']
59
+ wduri = URI.parse(@selenium_server)
38
60
 
39
- wdurl = "#{wduri.scheme}://#{wduri.host}:#{wduri.port}/wd/hub"
40
- url = "#{@http_address}?wdurl=#{URI.encode(wdurl)}&wdsid=#{URI.encode(wdsid)}"
61
+ wdurl = "#{wduri.scheme}://#{wduri.host}:#{wduri.port}/wd/hub"
62
+ url = "#{@http_address}?wdurl=#{URI.encode(wdurl)}&wdsid=#{URI.encode(wdsid)}"
63
+ else
64
+ url = @http_address
65
+ end
41
66
  @driver.navigate.to url
42
67
  url
43
68
  end
44
69
 
45
70
  def disconnect
46
71
  @driver.quit
72
+ @server.stop if @server
47
73
  end
48
74
 
49
75
  def eval_js(script)
@@ -1,3 +1,3 @@
1
1
  module Jasmine
2
- VERSION = "1.2.0.8"
2
+ VERSION = "1.2.0.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rally-jasmine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.8
4
+ version: 1.2.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-01-24 00:00:00.000000000 Z
15
+ date: 2013-02-04 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rspec
@@ -283,7 +283,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
283
283
  version: '0'
284
284
  segments:
285
285
  - 0
286
- hash: -2205489775247955638
286
+ hash: -2774273710119208349
287
287
  required_rubygems_version: !ruby/object:Gem::Requirement
288
288
  none: false
289
289
  requirements:
@@ -292,7 +292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
292
  version: '0'
293
293
  segments:
294
294
  - 0
295
- hash: -2205489775247955638
295
+ hash: -2774273710119208349
296
296
  requirements: []
297
297
  rubyforge_project:
298
298
  rubygems_version: 1.8.24