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.
- data/chrome/src/extension/background.js +19 -1
- data/chrome/src/extension/content_script.js +97 -51
- data/chrome/src/extension/manifest-nonwin.json +1 -1
- data/chrome/src/extension/manifest-win.json +1 -1
- data/chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb +6 -2
- data/chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb +2 -0
- data/common/src/js/core/scripts/selenium-version.js +1 -1
- data/common/src/rb/CHANGES +11 -0
- data/common/src/rb/lib/selenium/webdriver.rb +2 -0
- data/common/src/rb/lib/selenium/webdriver/file_reaper.rb +31 -0
- data/common/src/rb/lib/selenium/webdriver/options.rb +4 -0
- data/common/src/rb/lib/selenium/webdriver/platform.rb +34 -19
- data/common/src/rb/lib/selenium/webdriver/timeouts.rb +19 -0
- data/firefox/prebuilt/Win32/Release/webdriver-firefox.dll +0 -0
- data/firefox/prebuilt/linux/Release/libwebdriver-firefox.so +0 -0
- data/firefox/prebuilt/linux/Release/x_ignore_nofocus.so +0 -0
- data/firefox/prebuilt/linux64/Release/libwebdriver-firefox.so +0 -0
- data/firefox/prebuilt/linux64/Release/x_ignore_nofocus.so +0 -0
- data/firefox/src/extension/components/badCertListener.js +2 -1
- data/firefox/src/extension/components/dispatcher.js +3 -0
- data/firefox/src/extension/components/firefoxDriver.js +51 -9
- data/firefox/src/extension/components/session.js +33 -0
- data/firefox/src/extension/components/utils.js +4 -0
- data/firefox/src/extension/install.rdf +1 -1
- data/firefox/src/rb/lib/selenium/webdriver/firefox.rb +7 -6
- data/firefox/src/rb/lib/selenium/webdriver/firefox/launcher.rb +1 -0
- data/firefox/src/rb/lib/selenium/webdriver/firefox/profile.rb +18 -4
- data/jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll +0 -0
- data/jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll +0 -0
- data/jobbie/src/rb/lib/selenium/webdriver/ie.rb +4 -2
- data/jobbie/src/rb/lib/selenium/webdriver/ie/bridge.rb +5 -0
- data/jobbie/src/rb/lib/selenium/webdriver/ie/lib.rb +7 -2
- data/remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb +8 -5
- data/remote/client/src/rb/lib/selenium/webdriver/remote/commands.rb +1 -0
- data/remote/client/src/rb/lib/selenium/webdriver/remote/default_http_client.rb +15 -5
- metadata +271 -266
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|
-
|
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
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
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
|
-
|
486
|
-
|
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.
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
|
@@ -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']
|
115
|
-
prefs['webdriver_accept_untrusted_certs']
|
116
|
-
prefs['webdriver_enable_native_events']
|
117
|
-
prefs[
|
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)
|
Binary file
|
Binary file
|
@@ -3,8 +3,10 @@ module Selenium
|
|
3
3
|
|
4
4
|
# @private
|
5
5
|
module IE
|
6
|
-
|
7
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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 "
|
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
|
-
|
7
|
-
|
8
|
-
|
9
|
-
version: 0.0.
|
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-
|
17
|
+
date: 2010-05-31 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
- !ruby/object:Gem::Dependency
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
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/
|
79
|
-
- common/src/rb/
|
80
|
-
- common/src/rb/lib/selenium
|
81
|
-
- common/src/rb/lib/selenium/webdriver
|
82
|
-
- common/src/rb/lib/selenium/webdriver/
|
83
|
-
- common/src/rb/lib/selenium/webdriver/
|
84
|
-
- common/src/rb/lib/selenium/webdriver/
|
85
|
-
- common/src/rb/lib/selenium/webdriver/
|
86
|
-
- common/src/rb/lib/selenium/webdriver/
|
87
|
-
- common/src/rb/lib/selenium/webdriver/
|
88
|
-
- common/src/rb/lib/selenium/webdriver/
|
89
|
-
- common/src/rb/lib/selenium/webdriver/
|
90
|
-
- common/src/rb/lib/selenium/webdriver/
|
91
|
-
- common/src/rb/lib/selenium/webdriver/
|
92
|
-
- common/src/rb/lib/selenium/webdriver.rb
|
93
|
-
- common/src/rb/lib/selenium
|
94
|
-
- common/src/rb/
|
95
|
-
- common/src/
|
96
|
-
- common/src/
|
97
|
-
- common/src/
|
98
|
-
- common/src/js/
|
99
|
-
- common/src/js/
|
100
|
-
- common/src/js/
|
101
|
-
- common/src/js/
|
102
|
-
- common/src/js/
|
103
|
-
- common/src/js/
|
104
|
-
- common/src/js/
|
105
|
-
- common/src/js/
|
106
|
-
- common/src/js/
|
107
|
-
- common/src/js/
|
108
|
-
- common/src/js/
|
109
|
-
- common/src/js/
|
110
|
-
- common/src/js/
|
111
|
-
- common/src/js/core/
|
112
|
-
- common/src/js/core/
|
113
|
-
- common/src/js/core/
|
114
|
-
- common/src/js/core/
|
115
|
-
- common/src/js/core/
|
116
|
-
- common/src/js/core/
|
117
|
-
- common/src/js/core/
|
118
|
-
- common/src/js/core/
|
119
|
-
- common/src/js/core/
|
120
|
-
- common/src/js/core/
|
121
|
-
- common/src/js/core/
|
122
|
-
- common/src/js/core/
|
123
|
-
- common/src/js/core/
|
124
|
-
- common/src/js/core/
|
125
|
-
- common/src/js/core/
|
126
|
-
- common/src/js/core/
|
127
|
-
- common/src/js/core/
|
128
|
-
- common/src/js/core/
|
129
|
-
- common/src/js/core/
|
130
|
-
- common/src/js/core/
|
131
|
-
- common/src/js/core/
|
132
|
-
- common/src/js/core/
|
133
|
-
- common/src/js/core/
|
134
|
-
- common/src/js/core/
|
135
|
-
- common/src/js/core/
|
136
|
-
- common/src/js/core/
|
137
|
-
- common/src/js/core/
|
138
|
-
- common/src/js/core/
|
139
|
-
- common/src/js/core/
|
140
|
-
- common/src/js/core/
|
141
|
-
- common/src/js/core/
|
142
|
-
- common/src/js/core/
|
143
|
-
- common/src/js/core/
|
144
|
-
- common/src/js/core/
|
145
|
-
- common/src/js/core/
|
146
|
-
- common/src/js/core/
|
147
|
-
- common/src/js/core/
|
148
|
-
- common/src/js/core/
|
149
|
-
- common/src/js/core/
|
150
|
-
- common/src/js/core/
|
151
|
-
- common/src/js/core/
|
152
|
-
- common/src/js/core/
|
153
|
-
- common/src/js/core/
|
154
|
-
- common/src/js/
|
155
|
-
- common/src/js/
|
156
|
-
- common/src/js/
|
157
|
-
- common/src/js/
|
158
|
-
- common/src/js/
|
159
|
-
- common/src/js/
|
160
|
-
- common/src/js/
|
161
|
-
- common/src/js/
|
162
|
-
- common/src/js/
|
163
|
-
- common/src/js/
|
164
|
-
- common/src/js/
|
165
|
-
- common/src/js/
|
166
|
-
- common/src/js/
|
167
|
-
- common/src/js/
|
168
|
-
- common/src/js/jsunit/
|
169
|
-
- common/src/js/jsunit/
|
170
|
-
- common/src/js/jsunit/
|
171
|
-
- common/src/js/jsunit/
|
172
|
-
- common/src/js/jsunit/app/
|
173
|
-
- common/src/js/jsunit/app/
|
174
|
-
- common/src/js/jsunit/app/
|
175
|
-
- common/src/js/jsunit/app/
|
176
|
-
- common/src/js/jsunit/app/
|
177
|
-
- common/src/js/jsunit/app/
|
178
|
-
- common/src/js/jsunit/app/
|
179
|
-
- common/src/js/jsunit/app/
|
180
|
-
- common/src/js/jsunit/app/
|
181
|
-
- common/src/js/jsunit/
|
182
|
-
- common/src/js/jsunit/
|
183
|
-
- common/src/js/jsunit/
|
184
|
-
- common/src/js/jsunit/
|
185
|
-
- common/src/js/jsunit/
|
186
|
-
- common/src/js/jsunit/
|
187
|
-
- common/src/js/jsunit/
|
188
|
-
- common/src/js/jsunit/
|
189
|
-
- common/src/js/jsunit/
|
190
|
-
- common/src/js/jsunit/
|
191
|
-
- common/src/js/jsunit/
|
192
|
-
- common/src/js/jsunit/
|
193
|
-
- common/src/js/jsunit/
|
194
|
-
- common/src/js/jsunit/
|
195
|
-
- common/src/js/jsunit/
|
196
|
-
- common/src/js/jsunit/
|
197
|
-
- common/src/js/jsunit/
|
198
|
-
- common/src/js/jsunit.
|
199
|
-
- common/src/js/
|
200
|
-
- common/src/js/
|
201
|
-
- common/src/js/
|
202
|
-
- common/src/js/
|
203
|
-
- common/src/js/
|
204
|
-
- common/src/js/
|
205
|
-
-
|
206
|
-
-
|
207
|
-
-
|
208
|
-
- firefox/src/rb/lib/selenium/webdriver/firefox
|
209
|
-
- firefox/src/rb/lib/selenium/webdriver/firefox/
|
210
|
-
- firefox/src/rb/lib/selenium/webdriver/firefox/
|
211
|
-
- firefox/src/rb/lib/selenium/webdriver/firefox/
|
212
|
-
- firefox/src/rb/lib/selenium/webdriver/firefox.rb
|
213
|
-
- firefox/src/
|
214
|
-
- firefox/src/
|
215
|
-
- firefox/src/
|
216
|
-
- firefox/src/extension/
|
217
|
-
- firefox/src/extension/
|
218
|
-
- firefox/src/extension/components/
|
219
|
-
- firefox/src/extension/components/
|
220
|
-
- firefox/src/extension/components/
|
221
|
-
- firefox/src/extension/components/
|
222
|
-
- firefox/src/extension/components/
|
223
|
-
- firefox/src/extension/components/
|
224
|
-
- firefox/src/extension/components/
|
225
|
-
- firefox/src/extension/components/
|
226
|
-
- firefox/src/extension/components/
|
227
|
-
- firefox/src/extension/components/
|
228
|
-
- firefox/src/extension/components/
|
229
|
-
- firefox/src/extension/components/
|
230
|
-
- firefox/src/extension/components/
|
231
|
-
- firefox/src/extension/components/
|
232
|
-
- firefox/src/extension/components/
|
233
|
-
- firefox/src/extension/
|
234
|
-
- firefox/src/extension/
|
235
|
-
- firefox/src/extension/
|
236
|
-
- firefox/src/extension/
|
237
|
-
- firefox/src/extension/
|
238
|
-
- firefox/
|
239
|
-
- firefox/
|
240
|
-
- firefox/
|
241
|
-
- firefox/prebuilt/
|
242
|
-
- firefox/prebuilt/
|
243
|
-
- firefox/prebuilt/
|
244
|
-
- firefox/prebuilt/
|
245
|
-
- firefox/prebuilt/
|
246
|
-
-
|
247
|
-
-
|
248
|
-
-
|
249
|
-
- chrome/src/rb/lib/selenium/webdriver/chrome.rb
|
250
|
-
- chrome/src/
|
251
|
-
- chrome/src/
|
252
|
-
- chrome/src/
|
253
|
-
- chrome/src/extension/
|
254
|
-
- chrome/src/extension/
|
255
|
-
- chrome/src/extension/
|
256
|
-
- chrome/src/extension/manifest-
|
257
|
-
- chrome/src/extension/
|
258
|
-
- chrome/
|
259
|
-
- chrome/
|
260
|
-
-
|
261
|
-
-
|
262
|
-
-
|
263
|
-
- jobbie/src/rb/lib/selenium/webdriver/ie.rb
|
264
|
-
- jobbie/
|
265
|
-
- jobbie/
|
266
|
-
-
|
267
|
-
-
|
268
|
-
-
|
269
|
-
- remote/client/src/rb/lib/selenium/webdriver/remote
|
270
|
-
- remote/client/src/rb/lib/selenium/webdriver/remote/
|
271
|
-
- remote/client/src/rb/lib/selenium/webdriver/remote/
|
272
|
-
- remote/client/src/rb/lib/selenium/webdriver/remote/
|
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
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
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
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
+
- - ">="
|
302
|
+
- !ruby/object:Gem::Version
|
303
|
+
segments:
|
304
|
+
- 0
|
305
|
+
version: "0"
|
301
306
|
requirements: []
|
302
307
|
|
303
308
|
rubyforge_project:
|