selenium-webdriver 0.0.18 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
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: