selenium-webdriver 0.0.18 → 0.0.19

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.
Files changed (36) hide show
  1. data/chrome/src/extension/background.js +19 -1
  2. data/chrome/src/extension/content_script.js +97 -51
  3. data/chrome/src/extension/manifest-nonwin.json +1 -1
  4. data/chrome/src/extension/manifest-win.json +1 -1
  5. data/chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb +6 -2
  6. data/chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb +2 -0
  7. data/common/src/js/core/scripts/selenium-version.js +1 -1
  8. data/common/src/rb/CHANGES +11 -0
  9. data/common/src/rb/lib/selenium/webdriver.rb +2 -0
  10. data/common/src/rb/lib/selenium/webdriver/file_reaper.rb +31 -0
  11. data/common/src/rb/lib/selenium/webdriver/options.rb +4 -0
  12. data/common/src/rb/lib/selenium/webdriver/platform.rb +34 -19
  13. data/common/src/rb/lib/selenium/webdriver/timeouts.rb +19 -0
  14. data/firefox/prebuilt/Win32/Release/webdriver-firefox.dll +0 -0
  15. data/firefox/prebuilt/linux/Release/libwebdriver-firefox.so +0 -0
  16. data/firefox/prebuilt/linux/Release/x_ignore_nofocus.so +0 -0
  17. data/firefox/prebuilt/linux64/Release/libwebdriver-firefox.so +0 -0
  18. data/firefox/prebuilt/linux64/Release/x_ignore_nofocus.so +0 -0
  19. data/firefox/src/extension/components/badCertListener.js +2 -1
  20. data/firefox/src/extension/components/dispatcher.js +3 -0
  21. data/firefox/src/extension/components/firefoxDriver.js +51 -9
  22. data/firefox/src/extension/components/session.js +33 -0
  23. data/firefox/src/extension/components/utils.js +4 -0
  24. data/firefox/src/extension/install.rdf +1 -1
  25. data/firefox/src/rb/lib/selenium/webdriver/firefox.rb +7 -6
  26. data/firefox/src/rb/lib/selenium/webdriver/firefox/launcher.rb +1 -0
  27. data/firefox/src/rb/lib/selenium/webdriver/firefox/profile.rb +18 -4
  28. data/jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll +0 -0
  29. data/jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll +0 -0
  30. data/jobbie/src/rb/lib/selenium/webdriver/ie.rb +4 -2
  31. data/jobbie/src/rb/lib/selenium/webdriver/ie/bridge.rb +5 -0
  32. data/jobbie/src/rb/lib/selenium/webdriver/ie/lib.rb +7 -2
  33. data/remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb +8 -5
  34. data/remote/client/src/rb/lib/selenium/webdriver/remote/commands.rb +1 -0
  35. data/remote/client/src/rb/lib/selenium/webdriver/remote/default_http_client.rb +15 -5
  36. metadata +271 -266
@@ -130,7 +130,8 @@ WdCertOverrideService.prototype.certificateIssuerUntrusted_ = function
130
130
  // and the hostname the certificate was issued for, 0 otherwise.
131
131
  WdCertOverrideService.prototype.certificateHostnameMismatch_ = function
132
132
  (theCert, aHost) {
133
- if (theCert.commonName !== aHost) {
133
+ commonNameRE = new RegExp(theCert.commonName.replace('*', '\\w+'));
134
+ if (aHost.match(commonNameRE) === null) {
134
135
  localdump("Host name mismatch: cert: " + theCert.commonName + " get: " + aHost);
135
136
  return this.ERROR_MISMATCH;
136
137
  }
@@ -139,6 +139,9 @@ Dispatcher.prototype.init_ = function() {
139
139
  on(Request.Method.GET, Dispatcher.executeAs('getSpeed')).
140
140
  on(Request.Method.POST, Dispatcher.executeAs('setSpeed'));
141
141
 
142
+ this.bind_('/session/:sessionId/timeouts/implicit_wait').
143
+ on(Request.Method.POST, Dispatcher.executeAs('implicitlyWait'));
144
+
142
145
  this.bind_('/session/:sessionId/url').
143
146
  on(Request.Method.GET, Dispatcher.executeAs('getCurrentUrl')).
144
147
  on(Request.Method.POST, Dispatcher.executeAs('get'));
@@ -282,11 +282,16 @@ FirefoxDriver.ElementLocator = {
282
282
  * details on what the selector should be for each element.
283
283
  * @param {string} opt_parentElementId If defined, the search will be restricted
284
284
  * to the corresponding element's subtree.
285
+ * @param {number=} opt_startTime When this search operation started. Defaults
286
+ * to the current time.
285
287
  * @private
286
288
  */
287
289
  FirefoxDriver.prototype.findElementInternal_ = function(respond, method,
288
290
  selector,
289
- opt_parentElementId) {
291
+ opt_parentElementId,
292
+ opt_startTime) {
293
+ var startTime = typeof opt_startTime == 'number' ? opt_startTime :
294
+ new Date().getTime();
290
295
  var theDocument = respond.session.getDocument();
291
296
  var rootNode = typeof opt_parentElementId == 'string' ?
292
297
  Utils.getElementAt(opt_parentElementId, theDocument) : theDocument;
@@ -358,11 +363,24 @@ FirefoxDriver.prototype.findElementInternal_ = function(respond, method,
358
363
  respond.value = {'ELEMENT': id};
359
364
  respond.send();
360
365
  } else {
361
- throw new WebDriverError(ErrorCode.NO_SUCH_ELEMENT,
362
- 'Unable to locate element: ' + JSON.stringify({
363
- method: method,
364
- selector: selector
365
- }));
366
+ var wait = respond.session.getImplicitWait();
367
+ if (wait == 0 || new Date().getTime() - startTime > wait) {
368
+ respond.sendError(new WebDriverError(ErrorCode.NO_SUCH_ELEMENT,
369
+ 'Unable to locate element: ' + JSON.stringify({
370
+ method: method,
371
+ selector: selector
372
+ })));
373
+ } else {
374
+ var self = this;
375
+ var timer = Components.classes['@mozilla.org/timer;1'].
376
+ createInstance(Components.interfaces.nsITimer);
377
+ timer.initWithCallback({
378
+ notify: function() {
379
+ self.findElementInternal_(respond, method, selector,
380
+ opt_parentElementId, startTime);
381
+ }
382
+ }, 10, Components.interfaces.nsITimer.TYPE_ONE_SHOT);
383
+ }
366
384
  }
367
385
  };
368
386
 
@@ -408,11 +426,16 @@ FirefoxDriver.prototype.findChildElement = function(respond, parameters) {
408
426
  * details on what the selector should be for each element.
409
427
  * @param {string} opt_parentElementId If defined, the search will be restricted
410
428
  * to the corresponding element's subtree.
429
+ * @param {number=} opt_startTime When this search operation started. Defaults
430
+ * to the current time.
411
431
  * @private
412
432
  */
413
433
  FirefoxDriver.prototype.findElementsInternal_ = function(respond, method,
414
434
  selector,
415
- opt_parentElementId) {
435
+ opt_parentElementId,
436
+ opt_startTime) {
437
+ var startTime = typeof opt_startTime == 'number' ? opt_startTime :
438
+ new Date().getTime();
416
439
  var theDocument = respond.session.getDocument();
417
440
  var rootNode = typeof opt_parentElementId == 'string' ?
418
441
  Utils.getElementAt(opt_parentElementId, theDocument) : theDocument;
@@ -482,8 +505,21 @@ FirefoxDriver.prototype.findElementsInternal_ = function(respond, method,
482
505
  elementIds.push({'ELEMENT': elementId});
483
506
  }
484
507
 
485
- respond.value = elementIds;
486
- respond.send();
508
+ var wait = respond.session.getImplicitWait();
509
+ if (wait && !elementIds.length && new Date().getTime() - startTime <= wait) {
510
+ var self = this;
511
+ var timer = Components.classes['@mozilla.org/timer;1'].
512
+ createInstance(Components.interfaces.nsITimer);
513
+ timer.initWithCallback({
514
+ notify: function() {
515
+ self.findElementsInternal_(respond, method, selector,
516
+ opt_parentElementId, startTime);
517
+ }
518
+ }, 10, Components.interfaces.nsITimer.TYPE_ONE_SHOT);
519
+ } else {
520
+ respond.value = elementIds;
521
+ respond.send();
522
+ }
487
523
  };
488
524
 
489
525
 
@@ -741,6 +777,12 @@ FirefoxDriver.prototype.getSpeed = function(respond) {
741
777
  };
742
778
 
743
779
 
780
+ FirefoxDriver.prototype.implicitlyWait = function(respond, parameters) {
781
+ respond.session.setImplicitWait(parameters.ms);
782
+ respond.send();
783
+ };
784
+
785
+
744
786
  FirefoxDriver.prototype.saveScreenshot = function(respond, pngFile) {
745
787
  var window = respond.session.getBrowser().contentWindow;
746
788
  try {
@@ -95,6 +95,20 @@ wdSession.prototype.window_ = null;
95
95
  wdSession.prototype.inputSpeed_ = 1;
96
96
 
97
97
 
98
+ /**
99
+ * The amount of time, in milliseconds, this session should wait for an element
100
+ * to be located when performing a search.
101
+ * When searching for a single element, the driver will wait up to this amount
102
+ * of time for the element to be located before returning an error.
103
+ * When searching for multiple elements, the driver will wait up to this amount
104
+ * of time for at least one element to be located before returning an empty
105
+ * list.
106
+ * @type {number}
107
+ * @private
108
+ */
109
+ wdSession.prototype.implicitWait_ = 0;
110
+
111
+
98
112
  /** @see nsISupports.QueryInterface */
99
113
  wdSession.prototype.QueryInterface = function(aIID) {
100
114
  if (aIID.equals(Components.interfaces.nsISupports)) {
@@ -194,6 +208,25 @@ wdSession.prototype.setInputSpeed = function(speed) {
194
208
  };
195
209
 
196
210
 
211
+ /**
212
+ * @return {number} The amount of time, in milliseconds, this session should
213
+ * wait for an element to be located on the page.
214
+ */
215
+ wdSession.prototype.getImplicitWait = function() {
216
+ return this.implicitWait_;
217
+ };
218
+
219
+
220
+ /**
221
+ * Sets the amount of time, in milliseconds, this session should wait for an
222
+ * element to be located on the page.
223
+ * @param {number} wait The amount of time to wait.
224
+ */
225
+ wdSession.prototype.setImplicitWait = function(wait) {
226
+ this.implicitWait_ = Math.max(wait, 0);
227
+ };
228
+
229
+
197
230
  ///////////////////////////////////////////////////////////////////
198
231
  //
199
232
  // nsIFactory functions
@@ -956,6 +956,10 @@ Utils.findFrame = function(browser, frameId) {
956
956
  var found = false;
957
957
  for (var j = 0; j < frame.frames.length; j++) {
958
958
  var f = frame.frames[j];
959
+ var wholeRestOfName = names.slice(i).join(".");
960
+ if (f.name == wholeRestOfName || f.frameElement.id == wholeRestOfName) {
961
+ return f;
962
+ }
959
963
  if (f.name == names[i] || f.frameElement.id == names[i]) {
960
964
  frame = f;
961
965
  found = true;
@@ -4,7 +4,7 @@
4
4
  <Description about="urn:mozilla:install-manifest">
5
5
  <em:id>fxdriver@googlecode.com</em:id>
6
6
  <em:name>Firefox WebDriver</em:name>
7
- <em:version>2.0a3</em:version>
7
+ <em:version>2.0a4</em:version>
8
8
  <em:description>WebDriver implementation for Firefox</em:description>
9
9
  <em:creator>Simon Stewart</em:creator>
10
10
 
@@ -15,11 +15,12 @@ module Selenium
15
15
  # @private
16
16
  module Firefox
17
17
 
18
- DEFAULT_PROFILE_NAME = "WebDriver".freeze
19
- DEFAULT_PORT = 7055
20
- DEFAULT_ENABLE_NATIVE_EVENTS = [:windows, :linux].include? Platform.os
21
- DEFAULT_SECURE_SSL = false
22
- DEFAULT_LOAD_NO_FOCUS_LIB = Platform.os == :linux
18
+ DEFAULT_PROFILE_NAME = "WebDriver".freeze
19
+ DEFAULT_PORT = 7055
20
+ DEFAULT_ENABLE_NATIVE_EVENTS = [:windows, :linux].include? Platform.os
21
+ DEFAULT_SECURE_SSL = false
22
+ DEFAULT_ASSUME_UNTRUSTED_ISSUER = true
23
+ DEFAULT_LOAD_NO_FOCUS_LIB = Platform.os == :linux
23
24
 
24
25
  end
25
26
  end
@@ -30,4 +31,4 @@ end
30
31
  # If it's not defined, we add it here so it can be used in rescues.
31
32
  unless defined? SocketError
32
33
  class SocketError < IOError; end
33
- end
34
+ end
@@ -49,6 +49,7 @@ module Selenium
49
49
  until Time.now > max_time
50
50
  begin
51
51
  socket_lock = TCPServer.new(@host, locking_port)
52
+ # make sure the fd is not inherited by firefox
52
53
  socket_lock.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) if defined? Fcntl::FD_CLOEXEC
53
54
 
54
55
  yield
@@ -64,11 +64,14 @@ module Selenium
64
64
  raise Error::WebDriverError, "Profile directory does not exist: #{@directory.inspect}"
65
65
  end
66
66
 
67
+ FileReaper << @directory
68
+
67
69
  # TODO: replace constants with options hash
68
70
  @port = DEFAULT_PORT
69
71
  @extension_source = DEFAULT_EXTENSION_SOURCE
70
72
  @native_events = DEFAULT_ENABLE_NATIVE_EVENTS
71
73
  @secure_ssl = DEFAULT_SECURE_SSL
74
+ @untrusted_issuer = DEFAULT_ASSUME_UNTRUSTED_ISSUER
72
75
  @load_no_focus_lib = DEFAULT_LOAD_NO_FOCUS_LIB
73
76
 
74
77
  @additional_prefs = {}
@@ -111,10 +114,13 @@ module Selenium
111
114
  prefs.merge! @additional_prefs
112
115
  prefs.merge! DEFAULT_PREFERENCES
113
116
 
114
- prefs['webdriver_firefox_port'] = @port
115
- prefs['webdriver_accept_untrusted_certs'] = 'true' unless secure_ssl?
116
- prefs['webdriver_enable_native_events'] = 'true' if native_events?
117
- prefs["startup.homepage_welcome_url"] = prefs["browser.startup.homepage"] # If the user sets the home page, we should also start up there
117
+ prefs['webdriver_firefox_port'] = @port
118
+ prefs['webdriver_accept_untrusted_certs'] = !secure_ssl?
119
+ prefs['webdriver_enable_native_events'] = native_events?
120
+ prefs['webdriver_assume_untrusted_issuer'] = assume_untrusted_certificate_issuer?
121
+
122
+ # If the user sets the home page, we should also start up there
123
+ prefs["startup.homepage_welcome_url"] = prefs["browser.startup.homepage"]
118
124
 
119
125
  write_prefs prefs
120
126
  end
@@ -197,6 +203,14 @@ module Selenium
197
203
  @secure_ssl == true
198
204
  end
199
205
 
206
+ def assume_untrusted_certificate_issuer?
207
+ @untrusted_issuer == true
208
+ end
209
+
210
+ def assume_untrusted_certificate_issuer=(bool)
211
+ @untrusted_issuer = bool
212
+ end
213
+
200
214
  private
201
215
 
202
216
  def create_tmp_copy(directory)
@@ -3,8 +3,10 @@ module Selenium
3
3
 
4
4
  # @private
5
5
  module IE
6
- # TODO: x64
7
- DLL = "#{WebDriver.root}/jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll"
6
+ DLLS = {
7
+ :win32 => "#{WebDriver.root}/jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll",
8
+ :x64 => "#{WebDriver.root}/jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll"
9
+ }
8
10
  end
9
11
  end
10
12
  end
@@ -77,6 +77,11 @@ module Selenium
77
77
  "unable to change the visibility of the browser"
78
78
  end
79
79
 
80
+ def setImplicitWaitTimeout(milliseconds)
81
+ check_error_code Lib.wdSetImplicitWaitTimeout(@driver_pointer, milliseconds),
82
+ "unable to set implicit wait timeout"
83
+ end
84
+
80
85
  def switchToWindow(id)
81
86
  check_error_code Lib.wdSwitchToWindow(@driver_pointer, wstring_ptr(id)),
82
87
  "unable to locate window #{id.inspect}"
@@ -9,7 +9,11 @@ module Selenium
9
9
  module Lib
10
10
  extend FFI::Library
11
11
 
12
- ffi_lib WebDriver::IE::DLL
12
+ if Platform.bitsize == 64
13
+ ffi_lib WebDriver::IE::DLLS[:x64]
14
+ else
15
+ ffi_lib WebDriver::IE::DLLS[:win32]
16
+ end
13
17
 
14
18
  attach_function :wdAddBooleanScriptArg, [:pointer, :int ], :int
15
19
  attach_function :wdAddCookie, [:pointer, :pointer ], :int
@@ -85,6 +89,7 @@ module Selenium
85
89
  attach_function :wdNewDriverInstance, [:pointer ], :int
86
90
  attach_function :wdNewScriptArgs, [:pointer, :int ], :int
87
91
  attach_function :wdRefresh, [:pointer, ], :int
92
+ attach_function :wdSetImplicitWaitTimeout, [:pointer, :long ], :int
88
93
  attach_function :wdSetVisible, [:pointer, :int ], :int
89
94
  attach_function :wdStringLength, [:pointer, :pointer ], :int
90
95
  attach_function :wdSwitchToActiveElement, [:pointer, :pointer ], :int
@@ -103,4 +108,4 @@ module Selenium
103
108
  end
104
109
  end # IE
105
110
  end # WebDriver
106
- end # Selenium
111
+ end # Selenium
@@ -93,6 +93,14 @@ module Selenium
93
93
  execute :get, {}, :url => url
94
94
  end
95
95
 
96
+ def getCapabilities
97
+ Capabilities.json_create execute(:getCapabilities)
98
+ end
99
+
100
+ def setImplicitWaitTimeout(milliseconds)
101
+ execute :setImplicitWaitTimeout, {}, :ms => milliseconds
102
+ end
103
+
96
104
  def goBack
97
105
  execute :goBack
98
106
  end
@@ -328,10 +336,6 @@ module Selenium
328
336
  execute :dragElement, {:id => element}, :x => rigth_by, :y => down_by
329
337
  end
330
338
 
331
- def getCapabilities
332
- Capabilities.json_create execute(:getCapabilities)
333
- end
334
-
335
339
  private
336
340
 
337
341
  def find_element_by(how, what, parent = nil)
@@ -346,7 +350,6 @@ module Selenium
346
350
 
347
351
  def find_elements_by(how, what, parent = nil)
348
352
  if parent
349
- # TODO: why is how sent twice in the payload?
350
353
  ids = execute :findChildElements, {:id => parent}, {:using => how, :value => what}
351
354
  else
352
355
  ids = execute :findElements, {}, {:using => how, :value => what}
@@ -8,6 +8,7 @@ class Selenium::WebDriver::Remote::Bridge
8
8
  command :newSession, :post, "session"
9
9
  command :getCapabilities, :get, "session/:session_id"
10
10
  command :quit, :delete, "session/:session_id"
11
+ command :setImplicitWaitTimeout, :post, "session/:session_id/timeouts/implicit_wait"
11
12
  command :getCurrentWindowHandle, :get, "session/:session_id/window_handle"
12
13
  command :getWindowHandles, :get, "session/:session_id/window_handles"
13
14
  command :getCurrentUrl, :get, "session/:session_id/url"
@@ -6,6 +6,7 @@ module Selenium
6
6
 
7
7
  # @private
8
8
  class DefaultHttpClient
9
+ MAX_REDIRECTS = 20 # same as chromium/gecko
9
10
  CONTENT_TYPE = "application/json"
10
11
  DEFAULT_HEADERS = { "Accept" => CONTENT_TYPE, "Content-Length" => "0" }
11
12
 
@@ -39,13 +40,22 @@ module Selenium
39
40
  @http ||= Net::HTTP.new @server_url.host, @server_url.port
40
41
  end
41
42
 
42
- def request(verb, url, headers, payload)
43
+ def request(verb, url, headers, payload, redirects = 0)
43
44
  request = Net::HTTP.const_get(verb.to_s.capitalize).new(url.path, headers)
44
- response = http.request(request, payload)
45
45
 
46
- # TODO: should be checking against a maximum redirect count
46
+ retried = false
47
+ begin
48
+ response = http.request(request, payload)
49
+ rescue Errno::ECONNABORTED
50
+ # this happens sometimes on windows?!
51
+ raise if retried
52
+ retried = true
53
+ retry
54
+ end
55
+
47
56
  if response.kind_of? Net::HTTPRedirection
48
- request(:get, URI.parse(response['Location']), DEFAULT_HEADERS.dup, nil)
57
+ raise Error::WebDriverError, "too many redirects" if redirects >= MAX_REDIRECTS
58
+ request(:get, URI.parse(response['Location']), DEFAULT_HEADERS.dup, nil, redirects + 1)
49
59
  else
50
60
  create_response response
51
61
  end
@@ -61,7 +71,7 @@ module Selenium
61
71
  elsif res.code == '204'
62
72
  Response.new { |r| r.code = res.code.to_i }
63
73
  else
64
- raise "Unexpected content type: #{res.content_type.inspect} (#{res.code})\n#{res.body}"
74
+ raise Error::WebDriverError, "unexpected content type: #{res.content_type.inspect} (#{res.code})\n#{res.body}"
65
75
  end
66
76
  end
67
77
 
metadata CHANGED
@@ -3,68 +3,70 @@ name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
- - 0
7
- - 0
8
- - 18
9
- version: 0.0.18
6
+ - 0
7
+ - 0
8
+ - 19
9
+ version: 0.0.19
10
10
  platform: ruby
11
11
  authors:
12
- - Jari Bakken
12
+ - Jari Bakken
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-21 00:00:00 +02:00
17
+ date: 2010-05-31 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: json_pure
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- version: "0"
30
- type: :runtime
31
- version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: ffi
34
- prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 0
41
- version: "0"
42
- type: :runtime
43
- version_requirements: *id002
44
- - !ruby/object:Gem::Dependency
45
- name: rspec
46
- prerelease: false
47
- requirement: &id003 !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- segments:
52
- - 0
53
- version: "0"
54
- type: :development
55
- version_requirements: *id003
56
- - !ruby/object:Gem::Dependency
57
- name: rack
58
- prerelease: false
59
- requirement: &id004 !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- segments:
64
- - 0
65
- version: "0"
66
- type: :development
67
- version_requirements: *id004
20
+ - !ruby/object:Gem::Dependency
21
+ name: json_pure
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: ffi
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ - 6
42
+ - 1
43
+ version: 0.6.1
44
+ type: :runtime
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ version: "0"
56
+ type: :development
57
+ version_requirements: *id003
58
+ - !ruby/object:Gem::Dependency
59
+ name: rack
60
+ prerelease: false
61
+ requirement: &id004 !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ segments:
66
+ - 0
67
+ version: "0"
68
+ type: :development
69
+ version_requirements: *id004
68
70
  description: WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.
69
71
  email: jari.bakken@gmail.com
70
72
  executables: []
@@ -74,203 +76,206 @@ extensions: []
74
76
  extra_rdoc_files: []
75
77
 
76
78
  files:
77
- - COPYING
78
- - common/src/rb/lib/selenium/webdriver/bridge_helper.rb
79
- - common/src/rb/lib/selenium/webdriver/child_process.rb
80
- - common/src/rb/lib/selenium/webdriver/core_ext/dir.rb
81
- - common/src/rb/lib/selenium/webdriver/core_ext/string.rb
82
- - common/src/rb/lib/selenium/webdriver/driver.rb
83
- - common/src/rb/lib/selenium/webdriver/driver_extensions/takes_screenshot.rb
84
- - common/src/rb/lib/selenium/webdriver/element.rb
85
- - common/src/rb/lib/selenium/webdriver/error.rb
86
- - common/src/rb/lib/selenium/webdriver/find.rb
87
- - common/src/rb/lib/selenium/webdriver/keys.rb
88
- - common/src/rb/lib/selenium/webdriver/navigation.rb
89
- - common/src/rb/lib/selenium/webdriver/options.rb
90
- - common/src/rb/lib/selenium/webdriver/platform.rb
91
- - common/src/rb/lib/selenium/webdriver/target_locator.rb
92
- - common/src/rb/lib/selenium/webdriver.rb
93
- - common/src/rb/lib/selenium-webdriver.rb
94
- - common/src/rb/README
95
- - common/src/js/abstractcommandprocessor.js
96
- - common/src/js/asserts.js
97
- - common/src/js/by.js
98
- - common/src/js/command.js
99
- - common/src/js/core/Blank.html
100
- - common/src/js/core/icons/all.png
101
- - common/src/js/core/icons/continue.png
102
- - common/src/js/core/icons/continue_disabled.png
103
- - common/src/js/core/icons/pause.png
104
- - common/src/js/core/icons/pause_disabled.png
105
- - common/src/js/core/icons/selected.png
106
- - common/src/js/core/icons/step.png
107
- - common/src/js/core/icons/step_disabled.png
108
- - common/src/js/core/InjectedRemoteRunner.html
109
- - common/src/js/core/lib/cssQuery/cssQuery-p.js
110
- - common/src/js/core/lib/cssQuery/src/cssQuery-level2.js
111
- - common/src/js/core/lib/cssQuery/src/cssQuery-level3.js
112
- - common/src/js/core/lib/cssQuery/src/cssQuery-standard.js
113
- - common/src/js/core/lib/cssQuery/src/cssQuery.js
114
- - common/src/js/core/lib/prototype.js
115
- - common/src/js/core/lib/scriptaculous/builder.js
116
- - common/src/js/core/lib/scriptaculous/controls.js
117
- - common/src/js/core/lib/scriptaculous/dragdrop.js
118
- - common/src/js/core/lib/scriptaculous/effects.js
119
- - common/src/js/core/lib/scriptaculous/scriptaculous.js
120
- - common/src/js/core/lib/scriptaculous/slider.js
121
- - common/src/js/core/lib/scriptaculous/unittest.js
122
- - common/src/js/core/lib/snapsie.js
123
- - common/src/js/core/RemoteRunner.html
124
- - common/src/js/core/scripts/find_matching_child.js
125
- - common/src/js/core/scripts/htmlutils.js
126
- - common/src/js/core/scripts/injection.html
127
- - common/src/js/core/scripts/selenium-api.js
128
- - common/src/js/core/scripts/selenium-browserbot.js
129
- - common/src/js/core/scripts/selenium-browserdetect.js
130
- - common/src/js/core/scripts/selenium-commandhandlers.js
131
- - common/src/js/core/scripts/selenium-executionloop.js
132
- - common/src/js/core/scripts/selenium-logging.js
133
- - common/src/js/core/scripts/selenium-remoterunner.js
134
- - common/src/js/core/scripts/selenium-testrunner.js
135
- - common/src/js/core/scripts/selenium-version.js
136
- - common/src/js/core/scripts/ui-doc.html
137
- - common/src/js/core/scripts/ui-element.js
138
- - common/src/js/core/scripts/ui-map-sample.js
139
- - common/src/js/core/scripts/user-extensions.js
140
- - common/src/js/core/scripts/user-extensions.js.sample
141
- - common/src/js/core/scripts/xmlextras.js
142
- - common/src/js/core/selenium-logo.png
143
- - common/src/js/core/selenium-test.css
144
- - common/src/js/core/selenium.css
145
- - common/src/js/core/SeleniumLog.html
146
- - common/src/js/core/TestPrompt.html
147
- - common/src/js/core/TestRunner-splash.html
148
- - common/src/js/core/TestRunner.html
149
- - common/src/js/core/xpath/dom.js
150
- - common/src/js/core/xpath/javascript-xpath-0.1.11.js
151
- - common/src/js/core/xpath/util.js
152
- - common/src/js/core/xpath/xmltoken.js
153
- - common/src/js/core/xpath/xpath.js
154
- - common/src/js/extension/dommessenger.js
155
- - common/src/js/extension/README
156
- - common/src/js/factory.js
157
- - common/src/js/future.js
158
- - common/src/js/jsunit/app/css/jsUnitStyle.css
159
- - common/src/js/jsunit/app/css/readme
160
- - common/src/js/jsunit/app/emptyPage.html
161
- - common/src/js/jsunit/app/jsUnitCore.js
162
- - common/src/js/jsunit/app/jsUnitMockTimeout.js
163
- - common/src/js/jsunit/app/jsUnitTestManager.js
164
- - common/src/js/jsunit/app/jsUnitTestSuite.js
165
- - common/src/js/jsunit/app/jsUnitTracer.js
166
- - common/src/js/jsunit/app/jsUnitVersionCheck.js
167
- - common/src/js/jsunit/app/main-counts-errors.html
168
- - common/src/js/jsunit/app/main-counts-failures.html
169
- - common/src/js/jsunit/app/main-counts-runs.html
170
- - common/src/js/jsunit/app/main-counts.html
171
- - common/src/js/jsunit/app/main-data.html
172
- - common/src/js/jsunit/app/main-errors.html
173
- - common/src/js/jsunit/app/main-frame.html
174
- - common/src/js/jsunit/app/main-loader.html
175
- - common/src/js/jsunit/app/main-progress.html
176
- - common/src/js/jsunit/app/main-results.html
177
- - common/src/js/jsunit/app/main-status.html
178
- - common/src/js/jsunit/app/testContainer.html
179
- - common/src/js/jsunit/app/testContainerController.html
180
- - common/src/js/jsunit/app/xbDebug.js
181
- - common/src/js/jsunit/changelog.txt
182
- - common/src/js/jsunit/css/jsUnitStyle.css
183
- - common/src/js/jsunit/images/green.gif
184
- - common/src/js/jsunit/images/logo_jsunit.gif
185
- - common/src/js/jsunit/images/powerby-transparent.gif
186
- - common/src/js/jsunit/images/red.gif
187
- - common/src/js/jsunit/licenses/gpl-2.txt
188
- - common/src/js/jsunit/licenses/index.html
189
- - common/src/js/jsunit/licenses/JDOM_license.txt
190
- - common/src/js/jsunit/licenses/Jetty_license.html
191
- - common/src/js/jsunit/licenses/lgpl-2.1.txt
192
- - common/src/js/jsunit/licenses/MPL-1.1.txt
193
- - common/src/js/jsunit/licenses/mpl-tri-license-c.txt
194
- - common/src/js/jsunit/licenses/mpl-tri-license-html.txt
195
- - common/src/js/jsunit/readme.txt
196
- - common/src/js/jsunit/testRunner.html
197
- - common/src/js/jsunit/version.txt
198
- - common/src/js/jsunit.js
199
- - common/src/js/key.js
200
- - common/src/js/localcommandprocessor.js
201
- - common/src/js/testcase.js
202
- - common/src/js/timing.js
203
- - common/src/js/webdriver.js
204
- - common/src/js/webelement.js
205
- - firefox/src/rb/lib/selenium/webdriver/firefox/binary.rb
206
- - firefox/src/rb/lib/selenium/webdriver/firefox/bridge.rb
207
- - firefox/src/rb/lib/selenium/webdriver/firefox/extension_connection.rb
208
- - firefox/src/rb/lib/selenium/webdriver/firefox/launcher.rb
209
- - firefox/src/rb/lib/selenium/webdriver/firefox/profile.rb
210
- - firefox/src/rb/lib/selenium/webdriver/firefox/profiles_ini.rb
211
- - firefox/src/rb/lib/selenium/webdriver/firefox/util.rb
212
- - firefox/src/rb/lib/selenium/webdriver/firefox.rb
213
- - firefox/src/extension/chrome.manifest
214
- - firefox/src/extension/components/badCertListener.js
215
- - firefox/src/extension/components/dispatcher.js
216
- - firefox/src/extension/components/driver-component.js
217
- - firefox/src/extension/components/errorcode.js
218
- - firefox/src/extension/components/firefoxDriver.js
219
- - firefox/src/extension/components/json2.js
220
- - firefox/src/extension/components/keytest.html
221
- - firefox/src/extension/components/nsCommandProcessor.js
222
- - firefox/src/extension/components/promptService.js
223
- - firefox/src/extension/components/request.js
224
- - firefox/src/extension/components/response.js
225
- - firefox/src/extension/components/screenshooter.js
226
- - firefox/src/extension/components/session.js
227
- - firefox/src/extension/components/sessionstore.js
228
- - firefox/src/extension/components/socketListener.js
229
- - firefox/src/extension/components/utils.js
230
- - firefox/src/extension/components/webdriverserver.js
231
- - firefox/src/extension/components/webLoadingListener.js
232
- - firefox/src/extension/components/wrappedElement.js
233
- - firefox/src/extension/content/fxdriver.xul
234
- - firefox/src/extension/content/server.js
235
- - firefox/src/extension/idl/nsICommandProcessor.idl
236
- - firefox/src/extension/idl/nsIResponseHandler.idl
237
- - firefox/src/extension/install.rdf
238
- - firefox/prebuilt/linux/Release/libwebdriver-firefox.so
239
- - firefox/prebuilt/linux/Release/x_ignore_nofocus.so
240
- - firefox/prebuilt/linux64/Release/libwebdriver-firefox.so
241
- - firefox/prebuilt/linux64/Release/x_ignore_nofocus.so
242
- - firefox/prebuilt/nsICommandProcessor.xpt
243
- - firefox/prebuilt/nsINativeEvents.xpt
244
- - firefox/prebuilt/nsIResponseHandler.xpt
245
- - firefox/prebuilt/Win32/Release/webdriver-firefox.dll
246
- - chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb
247
- - chrome/src/rb/lib/selenium/webdriver/chrome/command_executor.rb
248
- - chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb
249
- - chrome/src/rb/lib/selenium/webdriver/chrome.rb
250
- - chrome/src/extension/background.html
251
- - chrome/src/extension/background.js
252
- - chrome/src/extension/content_script.js
253
- - chrome/src/extension/icons/busy.png
254
- - chrome/src/extension/icons/free.png
255
- - chrome/src/extension/manifest-nonwin.json
256
- - chrome/src/extension/manifest-win.json
257
- - chrome/src/extension/utils.js
258
- - chrome/prebuilt/Win32/Release/npchromedriver.dll
259
- - chrome/prebuilt/x64/Release/npchromedriver.dll
260
- - jobbie/src/rb/lib/selenium/webdriver/ie/bridge.rb
261
- - jobbie/src/rb/lib/selenium/webdriver/ie/lib.rb
262
- - jobbie/src/rb/lib/selenium/webdriver/ie/util.rb
263
- - jobbie/src/rb/lib/selenium/webdriver/ie.rb
264
- - jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll
265
- - jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll
266
- - remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb
267
- - remote/client/src/rb/lib/selenium/webdriver/remote/capabilities.rb
268
- - remote/client/src/rb/lib/selenium/webdriver/remote/commands.rb
269
- - remote/client/src/rb/lib/selenium/webdriver/remote/default_http_client.rb
270
- - remote/client/src/rb/lib/selenium/webdriver/remote/patron_http_client.rb
271
- - remote/client/src/rb/lib/selenium/webdriver/remote/response.rb
272
- - remote/client/src/rb/lib/selenium/webdriver/remote/server_error.rb
273
- - remote/client/src/rb/lib/selenium/webdriver/remote.rb
79
+ - COPYING
80
+ - common/src/rb/CHANGES
81
+ - common/src/rb/README
82
+ - common/src/rb/lib/selenium-webdriver.rb
83
+ - common/src/rb/lib/selenium/webdriver.rb
84
+ - common/src/rb/lib/selenium/webdriver/bridge_helper.rb
85
+ - common/src/rb/lib/selenium/webdriver/child_process.rb
86
+ - common/src/rb/lib/selenium/webdriver/driver.rb
87
+ - common/src/rb/lib/selenium/webdriver/element.rb
88
+ - common/src/rb/lib/selenium/webdriver/error.rb
89
+ - common/src/rb/lib/selenium/webdriver/file_reaper.rb
90
+ - common/src/rb/lib/selenium/webdriver/find.rb
91
+ - common/src/rb/lib/selenium/webdriver/keys.rb
92
+ - common/src/rb/lib/selenium/webdriver/navigation.rb
93
+ - common/src/rb/lib/selenium/webdriver/options.rb
94
+ - common/src/rb/lib/selenium/webdriver/platform.rb
95
+ - common/src/rb/lib/selenium/webdriver/target_locator.rb
96
+ - common/src/rb/lib/selenium/webdriver/timeouts.rb
97
+ - common/src/rb/lib/selenium/webdriver/core_ext/dir.rb
98
+ - common/src/rb/lib/selenium/webdriver/core_ext/string.rb
99
+ - common/src/rb/lib/selenium/webdriver/driver_extensions/takes_screenshot.rb
100
+ - common/src/js/abstractcommandprocessor.js
101
+ - common/src/js/asserts.js
102
+ - common/src/js/by.js
103
+ - common/src/js/command.js
104
+ - common/src/js/factory.js
105
+ - common/src/js/future.js
106
+ - common/src/js/jsunit.js
107
+ - common/src/js/key.js
108
+ - common/src/js/localcommandprocessor.js
109
+ - common/src/js/testcase.js
110
+ - common/src/js/timing.js
111
+ - common/src/js/webdriver.js
112
+ - common/src/js/webelement.js
113
+ - common/src/js/core/Blank.html
114
+ - common/src/js/core/InjectedRemoteRunner.html
115
+ - common/src/js/core/RemoteRunner.html
116
+ - common/src/js/core/selenium-logo.png
117
+ - common/src/js/core/selenium-test.css
118
+ - common/src/js/core/selenium.css
119
+ - common/src/js/core/SeleniumLog.html
120
+ - common/src/js/core/TestPrompt.html
121
+ - common/src/js/core/TestRunner-splash.html
122
+ - common/src/js/core/TestRunner.html
123
+ - common/src/js/core/icons/all.png
124
+ - common/src/js/core/icons/continue.png
125
+ - common/src/js/core/icons/continue_disabled.png
126
+ - common/src/js/core/icons/pause.png
127
+ - common/src/js/core/icons/pause_disabled.png
128
+ - common/src/js/core/icons/selected.png
129
+ - common/src/js/core/icons/step.png
130
+ - common/src/js/core/icons/step_disabled.png
131
+ - common/src/js/core/lib/prototype.js
132
+ - common/src/js/core/lib/snapsie.js
133
+ - common/src/js/core/lib/cssQuery/cssQuery-p.js
134
+ - common/src/js/core/lib/cssQuery/src/cssQuery-level2.js
135
+ - common/src/js/core/lib/cssQuery/src/cssQuery-level3.js
136
+ - common/src/js/core/lib/cssQuery/src/cssQuery-standard.js
137
+ - common/src/js/core/lib/cssQuery/src/cssQuery.js
138
+ - common/src/js/core/lib/scriptaculous/builder.js
139
+ - common/src/js/core/lib/scriptaculous/controls.js
140
+ - common/src/js/core/lib/scriptaculous/dragdrop.js
141
+ - common/src/js/core/lib/scriptaculous/effects.js
142
+ - common/src/js/core/lib/scriptaculous/scriptaculous.js
143
+ - common/src/js/core/lib/scriptaculous/slider.js
144
+ - common/src/js/core/lib/scriptaculous/unittest.js
145
+ - common/src/js/core/scripts/find_matching_child.js
146
+ - common/src/js/core/scripts/htmlutils.js
147
+ - common/src/js/core/scripts/injection.html
148
+ - common/src/js/core/scripts/selenium-api.js
149
+ - common/src/js/core/scripts/selenium-browserbot.js
150
+ - common/src/js/core/scripts/selenium-browserdetect.js
151
+ - common/src/js/core/scripts/selenium-commandhandlers.js
152
+ - common/src/js/core/scripts/selenium-executionloop.js
153
+ - common/src/js/core/scripts/selenium-logging.js
154
+ - common/src/js/core/scripts/selenium-remoterunner.js
155
+ - common/src/js/core/scripts/selenium-testrunner.js
156
+ - common/src/js/core/scripts/selenium-version.js
157
+ - common/src/js/core/scripts/ui-doc.html
158
+ - common/src/js/core/scripts/ui-element.js
159
+ - common/src/js/core/scripts/ui-map-sample.js
160
+ - common/src/js/core/scripts/user-extensions.js
161
+ - common/src/js/core/scripts/user-extensions.js.sample
162
+ - common/src/js/core/scripts/xmlextras.js
163
+ - common/src/js/core/xpath/dom.js
164
+ - common/src/js/core/xpath/javascript-xpath-0.1.11.js
165
+ - common/src/js/core/xpath/util.js
166
+ - common/src/js/core/xpath/xmltoken.js
167
+ - common/src/js/core/xpath/xpath.js
168
+ - common/src/js/extension/dommessenger.js
169
+ - common/src/js/extension/README
170
+ - common/src/js/jsunit/changelog.txt
171
+ - common/src/js/jsunit/readme.txt
172
+ - common/src/js/jsunit/testRunner.html
173
+ - common/src/js/jsunit/version.txt
174
+ - common/src/js/jsunit/app/emptyPage.html
175
+ - common/src/js/jsunit/app/jsUnitCore.js
176
+ - common/src/js/jsunit/app/jsUnitMockTimeout.js
177
+ - common/src/js/jsunit/app/jsUnitTestManager.js
178
+ - common/src/js/jsunit/app/jsUnitTestSuite.js
179
+ - common/src/js/jsunit/app/jsUnitTracer.js
180
+ - common/src/js/jsunit/app/jsUnitVersionCheck.js
181
+ - common/src/js/jsunit/app/main-counts-errors.html
182
+ - common/src/js/jsunit/app/main-counts-failures.html
183
+ - common/src/js/jsunit/app/main-counts-runs.html
184
+ - common/src/js/jsunit/app/main-counts.html
185
+ - common/src/js/jsunit/app/main-data.html
186
+ - common/src/js/jsunit/app/main-errors.html
187
+ - common/src/js/jsunit/app/main-frame.html
188
+ - common/src/js/jsunit/app/main-loader.html
189
+ - common/src/js/jsunit/app/main-progress.html
190
+ - common/src/js/jsunit/app/main-results.html
191
+ - common/src/js/jsunit/app/main-status.html
192
+ - common/src/js/jsunit/app/testContainer.html
193
+ - common/src/js/jsunit/app/testContainerController.html
194
+ - common/src/js/jsunit/app/xbDebug.js
195
+ - common/src/js/jsunit/app/css/jsUnitStyle.css
196
+ - common/src/js/jsunit/app/css/readme
197
+ - common/src/js/jsunit/css/jsUnitStyle.css
198
+ - common/src/js/jsunit/images/green.gif
199
+ - common/src/js/jsunit/images/logo_jsunit.gif
200
+ - common/src/js/jsunit/images/powerby-transparent.gif
201
+ - common/src/js/jsunit/images/red.gif
202
+ - common/src/js/jsunit/licenses/gpl-2.txt
203
+ - common/src/js/jsunit/licenses/index.html
204
+ - common/src/js/jsunit/licenses/JDOM_license.txt
205
+ - common/src/js/jsunit/licenses/Jetty_license.html
206
+ - common/src/js/jsunit/licenses/lgpl-2.1.txt
207
+ - common/src/js/jsunit/licenses/MPL-1.1.txt
208
+ - common/src/js/jsunit/licenses/mpl-tri-license-c.txt
209
+ - common/src/js/jsunit/licenses/mpl-tri-license-html.txt
210
+ - firefox/src/rb/lib/selenium/webdriver/firefox.rb
211
+ - firefox/src/rb/lib/selenium/webdriver/firefox/binary.rb
212
+ - firefox/src/rb/lib/selenium/webdriver/firefox/bridge.rb
213
+ - firefox/src/rb/lib/selenium/webdriver/firefox/extension_connection.rb
214
+ - firefox/src/rb/lib/selenium/webdriver/firefox/launcher.rb
215
+ - firefox/src/rb/lib/selenium/webdriver/firefox/profile.rb
216
+ - firefox/src/rb/lib/selenium/webdriver/firefox/profiles_ini.rb
217
+ - firefox/src/rb/lib/selenium/webdriver/firefox/util.rb
218
+ - firefox/src/extension/chrome.manifest
219
+ - firefox/src/extension/install.rdf
220
+ - firefox/src/extension/components/badCertListener.js
221
+ - firefox/src/extension/components/dispatcher.js
222
+ - firefox/src/extension/components/driver-component.js
223
+ - firefox/src/extension/components/errorcode.js
224
+ - firefox/src/extension/components/firefoxDriver.js
225
+ - firefox/src/extension/components/json2.js
226
+ - firefox/src/extension/components/keytest.html
227
+ - firefox/src/extension/components/nsCommandProcessor.js
228
+ - firefox/src/extension/components/promptService.js
229
+ - firefox/src/extension/components/request.js
230
+ - firefox/src/extension/components/response.js
231
+ - firefox/src/extension/components/screenshooter.js
232
+ - firefox/src/extension/components/session.js
233
+ - firefox/src/extension/components/sessionstore.js
234
+ - firefox/src/extension/components/socketListener.js
235
+ - firefox/src/extension/components/utils.js
236
+ - firefox/src/extension/components/webdriverserver.js
237
+ - firefox/src/extension/components/webLoadingListener.js
238
+ - firefox/src/extension/components/wrappedElement.js
239
+ - firefox/src/extension/content/fxdriver.xul
240
+ - firefox/src/extension/content/server.js
241
+ - firefox/src/extension/idl/nsICommandProcessor.idl
242
+ - firefox/src/extension/idl/nsIResponseHandler.idl
243
+ - firefox/prebuilt/nsICommandProcessor.xpt
244
+ - firefox/prebuilt/nsINativeEvents.xpt
245
+ - firefox/prebuilt/nsIResponseHandler.xpt
246
+ - firefox/prebuilt/linux/Release/libwebdriver-firefox.so
247
+ - firefox/prebuilt/linux/Release/x_ignore_nofocus.so
248
+ - firefox/prebuilt/linux64/Release/libwebdriver-firefox.so
249
+ - firefox/prebuilt/linux64/Release/x_ignore_nofocus.so
250
+ - firefox/prebuilt/Win32/Release/webdriver-firefox.dll
251
+ - chrome/src/rb/lib/selenium/webdriver/chrome.rb
252
+ - chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb
253
+ - chrome/src/rb/lib/selenium/webdriver/chrome/command_executor.rb
254
+ - chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb
255
+ - chrome/src/extension/background.html
256
+ - chrome/src/extension/background.js
257
+ - chrome/src/extension/content_script.js
258
+ - chrome/src/extension/manifest-nonwin.json
259
+ - chrome/src/extension/manifest-win.json
260
+ - chrome/src/extension/utils.js
261
+ - chrome/src/extension/icons/busy.png
262
+ - chrome/src/extension/icons/free.png
263
+ - chrome/prebuilt/Win32/Release/npchromedriver.dll
264
+ - chrome/prebuilt/x64/Release/npchromedriver.dll
265
+ - jobbie/src/rb/lib/selenium/webdriver/ie.rb
266
+ - jobbie/src/rb/lib/selenium/webdriver/ie/bridge.rb
267
+ - jobbie/src/rb/lib/selenium/webdriver/ie/lib.rb
268
+ - jobbie/src/rb/lib/selenium/webdriver/ie/util.rb
269
+ - jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll
270
+ - jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll
271
+ - remote/client/src/rb/lib/selenium/webdriver/remote.rb
272
+ - remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb
273
+ - remote/client/src/rb/lib/selenium/webdriver/remote/capabilities.rb
274
+ - remote/client/src/rb/lib/selenium/webdriver/remote/commands.rb
275
+ - remote/client/src/rb/lib/selenium/webdriver/remote/default_http_client.rb
276
+ - remote/client/src/rb/lib/selenium/webdriver/remote/patron_http_client.rb
277
+ - remote/client/src/rb/lib/selenium/webdriver/remote/response.rb
278
+ - remote/client/src/rb/lib/selenium/webdriver/remote/server_error.rb
274
279
  has_rdoc: true
275
280
  homepage: http://selenium.googlecode.com
276
281
  licenses: []
@@ -279,25 +284,25 @@ post_install_message:
279
284
  rdoc_options: []
280
285
 
281
286
  require_paths:
282
- - common/src/rb/lib
283
- - firefox/src/rb/lib
284
- - chrome/src/rb/lib
285
- - jobbie/src/rb/lib
286
- - remote/client/src/rb/lib
287
+ - common/src/rb/lib
288
+ - firefox/src/rb/lib
289
+ - chrome/src/rb/lib
290
+ - jobbie/src/rb/lib
291
+ - remote/client/src/rb/lib
287
292
  required_ruby_version: !ruby/object:Gem::Requirement
288
293
  requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- segments:
292
- - 0
293
- version: "0"
294
+ - - ">="
295
+ - !ruby/object:Gem::Version
296
+ segments:
297
+ - 0
298
+ version: "0"
294
299
  required_rubygems_version: !ruby/object:Gem::Requirement
295
300
  requirements:
296
- - - ">="
297
- - !ruby/object:Gem::Version
298
- segments:
299
- - 0
300
- version: "0"
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ segments:
304
+ - 0
305
+ version: "0"
301
306
  requirements: []
302
307
 
303
308
  rubyforge_project: