rally-jasmine 1.2.0.8 → 1.2.0.10

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.
@@ -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