selenium-webdriver 0.2.1 → 0.2.2
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.
- data/CHANGES +11 -1
- data/lib/selenium-webdriver.rb +1 -1
- data/lib/selenium/rake/server_task.rb +1 -0
- data/lib/selenium/webdriver/chrome.rb +11 -3
- data/lib/selenium/webdriver/chrome/bridge.rb +7 -1
- data/lib/selenium/webdriver/common/action_builder.rb +36 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb +5 -0
- data/lib/selenium/webdriver/common/element.rb +34 -5
- data/lib/selenium/webdriver/common/mouse.rb +4 -4
- data/lib/selenium/webdriver/common/platform.rb +4 -4
- data/lib/selenium/webdriver/common/search_context.rb +2 -2
- data/lib/selenium/webdriver/common/socket_poller.rb +1 -1
- data/lib/selenium/webdriver/firefox/binary.rb +1 -1
- data/lib/selenium/webdriver/firefox/bridge.rb +4 -1
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/ie/native/win32/IEDriver.dll +0 -0
- data/lib/selenium/webdriver/ie/native/x64/IEDriver.dll +0 -0
- data/lib/selenium/webdriver/remote/bridge.rb +4 -4
- metadata +169 -209
data/CHANGES
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
0.2.2 (???)
|
2
|
+
==================
|
3
|
+
|
4
|
+
* Deprecate Element#{toggle,select,drag_and_drop_*}
|
5
|
+
* Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
|
6
|
+
* Fix argument names in Mouse#move_to and Mouse#move_by.
|
7
|
+
* Support Firefox 5
|
8
|
+
* Chrome and Firefox drivers now includes the HasInputDevices module.
|
9
|
+
* Selenium::Rake::ServerTask now works with Rake 0.9.
|
10
|
+
|
1
11
|
0.2.1 (2011-06-01)
|
2
12
|
==================
|
3
13
|
|
@@ -22,7 +32,7 @@
|
|
22
32
|
* Fix bug where locators would fail if Object.prototype had been modified.
|
23
33
|
* Various IE fixes
|
24
34
|
- Issues: #698, #1444
|
25
|
-
- Improved handling of showModalDialog()
|
35
|
+
- Improved handling of showModalDialog()
|
26
36
|
- Full-size screenshots
|
27
37
|
* Allow users to override the dom.max_script_run_time preference in Firefox.
|
28
38
|
* Removed DesiredCapabilities.safari, which was never supported anyway.
|
data/lib/selenium-webdriver.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require 'selenium/webdriver'
|
1
|
+
require 'selenium/webdriver'
|
@@ -3,15 +3,23 @@ require 'net/http'
|
|
3
3
|
require 'selenium/webdriver/chrome/service'
|
4
4
|
require 'selenium/webdriver/chrome/bridge'
|
5
5
|
|
6
|
-
|
7
6
|
module Selenium
|
8
7
|
module WebDriver
|
9
8
|
|
10
9
|
module Chrome
|
11
|
-
def self.
|
10
|
+
def self.driver_path=(path)
|
12
11
|
Service.executable_path = path
|
13
12
|
end
|
14
|
-
end
|
15
13
|
|
14
|
+
def self.path=(path)
|
15
|
+
Platform.assert_executable path
|
16
|
+
@path = path
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.path
|
20
|
+
@path
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
16
24
|
end
|
17
25
|
end
|
@@ -23,6 +23,9 @@ module Selenium
|
|
23
23
|
caps.merge! 'chrome.switches' => switches.map { |e| e.to_s }
|
24
24
|
end
|
25
25
|
|
26
|
+
if Chrome.path
|
27
|
+
caps.merge! 'chrome.binary' => Chrome.path
|
28
|
+
end
|
26
29
|
|
27
30
|
@service = Service.default_service
|
28
31
|
@service.start
|
@@ -42,7 +45,10 @@ module Selenium
|
|
42
45
|
end
|
43
46
|
|
44
47
|
def driver_extensions
|
45
|
-
[
|
48
|
+
[
|
49
|
+
DriverExtensions::TakesScreenshot,
|
50
|
+
DriverExtensions::HasInputDevices
|
51
|
+
]
|
46
52
|
end
|
47
53
|
|
48
54
|
def capabilities
|
@@ -1,7 +1,30 @@
|
|
1
1
|
module Selenium
|
2
2
|
module WebDriver
|
3
|
+
|
4
|
+
#
|
5
|
+
# The ActionBuilder provides the user a way to set up and perform
|
6
|
+
# complex user interactions.
|
7
|
+
#
|
8
|
+
# This class should not be instantiated directly, but is created by
|
9
|
+
# Selenium::WebDriver::DriverExtensions::HasInputDevices#action, which
|
10
|
+
# is available on Driver instances that support the user interaction API.
|
11
|
+
#
|
12
|
+
# Example:
|
13
|
+
#
|
14
|
+
# driver.action.key_down(:shift).
|
15
|
+
# click(element).
|
16
|
+
# click(second_element).
|
17
|
+
# key_up(:shift).
|
18
|
+
# drag_and_drop(element, third_element).
|
19
|
+
# perform
|
20
|
+
#
|
21
|
+
|
3
22
|
class ActionBuilder
|
4
23
|
|
24
|
+
#
|
25
|
+
# @api private
|
26
|
+
#
|
27
|
+
|
5
28
|
def initialize(mouse, keyboard)
|
6
29
|
@devices = {
|
7
30
|
:mouse => mouse,
|
@@ -58,9 +81,9 @@ module Selenium
|
|
58
81
|
self
|
59
82
|
end
|
60
83
|
|
61
|
-
def move_to(element,
|
62
|
-
if
|
63
|
-
@actions << [:mouse, :move_to, [element,
|
84
|
+
def move_to(element, right_by = nil, down_by = nil)
|
85
|
+
if right_by && down_by
|
86
|
+
@actions << [:mouse, :move_to, [element, right_by, down_by]]
|
64
87
|
else
|
65
88
|
@actions << [:mouse, :move_to, [element]]
|
66
89
|
end
|
@@ -68,8 +91,8 @@ module Selenium
|
|
68
91
|
self
|
69
92
|
end
|
70
93
|
|
71
|
-
def move_by(
|
72
|
-
@actions << [:mouse, :move_by, [
|
94
|
+
def move_by(right_by, down_by)
|
95
|
+
@actions << [:mouse, :move_by, [right_by, down_by]]
|
73
96
|
self
|
74
97
|
end
|
75
98
|
|
@@ -86,6 +109,14 @@ module Selenium
|
|
86
109
|
self
|
87
110
|
end
|
88
111
|
|
112
|
+
def drag_and_drop_by(source, right_by, down_by)
|
113
|
+
click_and_hold source
|
114
|
+
move_by right_by, down_by
|
115
|
+
release
|
116
|
+
|
117
|
+
self
|
118
|
+
end
|
119
|
+
|
89
120
|
def perform
|
90
121
|
@actions.each { |receiver, method, args|
|
91
122
|
@devices.fetch(receiver).__send__(method, *args)
|
@@ -112,17 +112,21 @@ module Selenium
|
|
112
112
|
#
|
113
113
|
|
114
114
|
def send_keys(*args)
|
115
|
-
args.
|
115
|
+
values = args.map do |arg|
|
116
116
|
case arg
|
117
117
|
when Symbol
|
118
|
-
|
118
|
+
Keys[arg]
|
119
119
|
when Array
|
120
120
|
arg = arg.map { |e| e.kind_of?(Symbol) ? Keys[e] : e }.join
|
121
121
|
arg << Keys[:null]
|
122
|
-
end
|
123
122
|
|
124
|
-
|
123
|
+
arg
|
124
|
+
else
|
125
|
+
arg.to_s
|
126
|
+
end
|
125
127
|
end
|
128
|
+
|
129
|
+
bridge.sendKeysToElement @id, values
|
126
130
|
end
|
127
131
|
alias_method :send_key, :send_keys
|
128
132
|
|
@@ -169,7 +173,21 @@ module Selenium
|
|
169
173
|
#
|
170
174
|
|
171
175
|
def select
|
172
|
-
|
176
|
+
warn "#{self.class}#select is deprecated. Please use #{self.class}#click and determine the current state with #{self.class}#selected?"
|
177
|
+
|
178
|
+
unless displayed?
|
179
|
+
raise Error::ElementNotDisplayedError, "you may not select an element that is not displayed"
|
180
|
+
end
|
181
|
+
|
182
|
+
unless enabled?
|
183
|
+
raise Error::InvalidElementStateError, "cannot select a disabled element"
|
184
|
+
end
|
185
|
+
|
186
|
+
unless selectable?
|
187
|
+
raise Error::InvalidElementStateError, "you may only select options, radios or checkboxes"
|
188
|
+
end
|
189
|
+
|
190
|
+
click unless selected?
|
173
191
|
end
|
174
192
|
|
175
193
|
#
|
@@ -185,6 +203,7 @@ module Selenium
|
|
185
203
|
#
|
186
204
|
|
187
205
|
def toggle
|
206
|
+
warn "#{self.class}#toggle is deprecated. Please use #{self.class}#click and determine the current state with #{self.class}#selected?"
|
188
207
|
bridge.toggleElement @id
|
189
208
|
end
|
190
209
|
|
@@ -236,6 +255,7 @@ module Selenium
|
|
236
255
|
#
|
237
256
|
|
238
257
|
def drag_and_drop_by(right_by, down_by)
|
258
|
+
warn "#{self.class}#drag_and_drop_{by,on} is deprecated. Please use Selenium::WebDriver::Driver#action (and Selenium::WebDriver::ActionBuilder) instead."
|
239
259
|
bridge.dragElement @id, right_by, down_by
|
240
260
|
end
|
241
261
|
|
@@ -305,6 +325,15 @@ module Selenium
|
|
305
325
|
{ :ELEMENT => @id }
|
306
326
|
end
|
307
327
|
|
328
|
+
private
|
329
|
+
|
330
|
+
def selectable?
|
331
|
+
tn = tag_name.downcase
|
332
|
+
type = attribute(:type).to_s.downcase
|
333
|
+
|
334
|
+
tn == "option" || (tn == "input" && %w[radio checkbox].include?(type))
|
335
|
+
end
|
336
|
+
|
308
337
|
end # Element
|
309
338
|
end # WebDriver
|
310
339
|
end # Selenium
|
@@ -42,16 +42,16 @@ module Selenium
|
|
42
42
|
# driver.mouse.move_to(element, 5, 5)
|
43
43
|
#
|
44
44
|
|
45
|
-
def move_to(element,
|
45
|
+
def move_to(element, right_by = nil, down_by = nil)
|
46
46
|
unless element.kind_of? Element
|
47
47
|
raise TypeError, "expected #{Element}, got #{element.inspect}:#{element.class}"
|
48
48
|
end
|
49
49
|
|
50
|
-
@bridge.mouseMoveTo element.ref,
|
50
|
+
@bridge.mouseMoveTo element.ref, right_by, down_by
|
51
51
|
end
|
52
52
|
|
53
|
-
def move_by(
|
54
|
-
@bridge.mouseMoveTo nil,
|
53
|
+
def move_by(right_by, down_by)
|
54
|
+
@bridge.mouseMoveTo nil, right_by, down_by
|
55
55
|
end
|
56
56
|
|
57
57
|
private
|
@@ -72,7 +72,7 @@ module Selenium
|
|
72
72
|
!!(RUBY_VERSION =~ /^1\.9/)
|
73
73
|
end
|
74
74
|
|
75
|
-
def
|
75
|
+
def windows?
|
76
76
|
os == :windows
|
77
77
|
end
|
78
78
|
|
@@ -89,7 +89,7 @@ module Selenium
|
|
89
89
|
end
|
90
90
|
|
91
91
|
def wrap_in_quotes_if_necessary(str)
|
92
|
-
|
92
|
+
windows? && !cygwin? ? %{"#{str}"} : str
|
93
93
|
end
|
94
94
|
|
95
95
|
def cygwin_path(path, opts = {})
|
@@ -115,7 +115,7 @@ module Selenium
|
|
115
115
|
|
116
116
|
def find_binary(*binary_names)
|
117
117
|
paths = ENV['PATH'].split(File::PATH_SEPARATOR)
|
118
|
-
binary_names.map! { |n| "#{n}.exe" } if
|
118
|
+
binary_names.map! { |n| "#{n}.exe" } if windows?
|
119
119
|
|
120
120
|
binary_names.each do |binary_name|
|
121
121
|
paths.each do |path|
|
@@ -147,7 +147,7 @@ if __FILE__ == $0
|
|
147
147
|
:ruby187? => Selenium::WebDriver::Platform.ruby187?,
|
148
148
|
:ruby19? => Selenium::WebDriver::Platform.ruby19?,
|
149
149
|
:jruby? => Selenium::WebDriver::Platform.jruby?,
|
150
|
-
:
|
150
|
+
:windows? => Selenium::WebDriver::Platform.windows?,
|
151
151
|
:home => Selenium::WebDriver::Platform.home,
|
152
152
|
:bitsize => Selenium::WebDriver::Platform.bitsize,
|
153
153
|
:localhost => Selenium::WebDriver::Platform.localhost
|
@@ -23,7 +23,7 @@ module Selenium
|
|
23
23
|
# the entire document, not just the children of this current node. Use
|
24
24
|
# ".//" to limit your search to the children of the receiving Element.
|
25
25
|
#
|
26
|
-
# @param [:class, :class_name, :id, :link_text, :link, :partial_link_text, :name, :tag_name, :xpath] how
|
26
|
+
# @param [:class, :class_name, :css, :id, :link_text, :link, :partial_link_text, :name, :tag_name, :xpath] how
|
27
27
|
# @param [String] what
|
28
28
|
# @return [WebDriver::Element]
|
29
29
|
#
|
@@ -49,7 +49,7 @@ module Selenium
|
|
49
49
|
#
|
50
50
|
# @see SearchContext#find_element
|
51
51
|
#
|
52
|
-
# @param [:class, :class_name, :id, :link_text, :link, :partial_link_text, :name, :tag_name, :xpath] how
|
52
|
+
# @param [:class, :class_name, :css, :id, :link_text, :link, :partial_link_text, :name, :tag_name, :xpath] how
|
53
53
|
# @param [String] what
|
54
54
|
# @return [Array<WebDriver::Element>]
|
55
55
|
#
|
@@ -42,7 +42,7 @@ module Selenium
|
|
42
42
|
NOT_CONNECTED_ERRORS << Errno::EPERM if Platform.cygwin?
|
43
43
|
|
44
44
|
CONNECTED_ERRORS = [Errno::EISCONN]
|
45
|
-
CONNECTED_ERRORS << Errno::EINVAL if Platform.
|
45
|
+
CONNECTED_ERRORS << Errno::EINVAL if Platform.windows?
|
46
46
|
|
47
47
|
if Platform.jruby?
|
48
48
|
# we use a plain TCPSocket here since JRuby has issues select()ing on a connecting socket
|
@@ -15,7 +15,7 @@ module Selenium
|
|
15
15
|
QUIT_TIMEOUT = 5
|
16
16
|
|
17
17
|
def start_with(profile, profile_path, *args)
|
18
|
-
profile_path = profile_path.gsub("/", "\\") if Platform.
|
18
|
+
profile_path = profile_path.gsub("/", "\\") if Platform.windows?
|
19
19
|
|
20
20
|
ENV['XRE_CONSOLE_LOG'] = profile.log_file if profile.log_file
|
21
21
|
ENV['XRE_PROFILE_PATH'] = profile_path
|
Binary file
|
Binary file
|
Binary file
|
@@ -366,8 +366,8 @@ module Selenium
|
|
366
366
|
Dimension.new data['width'], data['height']
|
367
367
|
end
|
368
368
|
|
369
|
-
def sendKeysToElement(element,
|
370
|
-
execute :sendKeysToElement, {:id => element}, {:value =>
|
369
|
+
def sendKeysToElement(element, keys)
|
370
|
+
execute :sendKeysToElement, {:id => element}, {:value => keys}
|
371
371
|
end
|
372
372
|
|
373
373
|
def clearElement(element)
|
@@ -407,8 +407,8 @@ module Selenium
|
|
407
407
|
end
|
408
408
|
alias_method :switchToActiveElement, :getActiveElement
|
409
409
|
|
410
|
-
def dragElement(element,
|
411
|
-
execute :dragElement, {:id => element}, :x =>
|
410
|
+
def dragElement(element, right_by, down_by)
|
411
|
+
execute :dragElement, {:id => element}, :x => right_by, :y => down_by
|
412
412
|
end
|
413
413
|
|
414
414
|
def elementEquals(element, other)
|
metadata
CHANGED
@@ -1,129 +1,95 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 1
|
10
|
-
version: 0.2.1
|
4
|
+
prerelease:
|
5
|
+
version: 0.2.2
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
|
-
- Jari Bakken
|
8
|
+
- Jari Bakken
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-06-
|
13
|
+
date: 2011-06-22 00:00:00 +02:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
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
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
prerelease: false
|
99
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
|
-
requirements:
|
102
|
-
- - ~>
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
hash: 15
|
105
|
-
segments:
|
106
|
-
- 1
|
107
|
-
- 0
|
108
|
-
version: "1.0"
|
109
|
-
type: :development
|
110
|
-
version_requirements: *id006
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: ci_reporter
|
113
|
-
prerelease: false
|
114
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
|
-
requirements:
|
117
|
-
- - ~>
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
hash: 11
|
120
|
-
segments:
|
121
|
-
- 1
|
122
|
-
- 6
|
123
|
-
- 2
|
124
|
-
version: 1.6.2
|
125
|
-
type: :development
|
126
|
-
version_requirements: *id007
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: json_pure
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubyzip
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: "0"
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: childprocess
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.1.9
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: ffi
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 1.0.7
|
58
|
+
type: :runtime
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: rspec
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: "2.0"
|
69
|
+
type: :development
|
70
|
+
version_requirements: *id005
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: rack
|
73
|
+
prerelease: false
|
74
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ~>
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "1.0"
|
80
|
+
type: :development
|
81
|
+
version_requirements: *id006
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: ci_reporter
|
84
|
+
prerelease: false
|
85
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 1.6.2
|
91
|
+
type: :development
|
92
|
+
version_requirements: *id007
|
127
93
|
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.
|
128
94
|
email: jari.bakken@gmail.com
|
129
95
|
executables: []
|
@@ -133,86 +99,86 @@ extensions: []
|
|
133
99
|
extra_rdoc_files: []
|
134
100
|
|
135
101
|
files:
|
136
|
-
- lib/selenium
|
137
|
-
- lib/selenium
|
138
|
-
- lib/selenium/client
|
139
|
-
- lib/selenium/
|
140
|
-
- lib/selenium/
|
141
|
-
- lib/selenium/client/
|
142
|
-
- lib/selenium/client/
|
143
|
-
- lib/selenium/client/
|
144
|
-
- lib/selenium/client/
|
145
|
-
- lib/selenium/client/
|
146
|
-
- lib/selenium/client/
|
147
|
-
- lib/selenium/client.rb
|
148
|
-
- lib/selenium/
|
149
|
-
- lib/selenium/
|
150
|
-
- lib/selenium/
|
151
|
-
- lib/selenium/
|
152
|
-
- lib/selenium/
|
153
|
-
- lib/selenium/webdriver/
|
154
|
-
- lib/selenium/webdriver/chrome.rb
|
155
|
-
- lib/selenium/webdriver/common
|
156
|
-
- lib/selenium/webdriver/
|
157
|
-
- lib/selenium/webdriver/
|
158
|
-
- lib/selenium/webdriver/
|
159
|
-
- lib/selenium/webdriver/
|
160
|
-
- lib/selenium/webdriver/
|
161
|
-
- lib/selenium/webdriver/
|
162
|
-
- lib/selenium/webdriver/
|
163
|
-
- lib/selenium/webdriver/common/
|
164
|
-
- lib/selenium/webdriver/common/
|
165
|
-
- lib/selenium/webdriver/common/
|
166
|
-
- lib/selenium/webdriver/common/
|
167
|
-
- lib/selenium/webdriver/common/
|
168
|
-
- lib/selenium/webdriver/common/
|
169
|
-
- lib/selenium/webdriver/common/
|
170
|
-
- lib/selenium/webdriver/common/
|
171
|
-
- lib/selenium/webdriver/common/
|
172
|
-
- lib/selenium/webdriver/common/
|
173
|
-
- lib/selenium/webdriver/common/
|
174
|
-
- lib/selenium/webdriver/common/
|
175
|
-
- lib/selenium/webdriver/common/
|
176
|
-
- lib/selenium/webdriver/common/
|
177
|
-
- lib/selenium/webdriver/common/
|
178
|
-
- lib/selenium/webdriver/common/
|
179
|
-
- lib/selenium/webdriver/common/
|
180
|
-
- lib/selenium/webdriver/common/
|
181
|
-
- lib/selenium/webdriver/common.rb
|
182
|
-
- lib/selenium/webdriver/
|
183
|
-
- lib/selenium/webdriver/
|
184
|
-
- lib/selenium/webdriver/
|
185
|
-
- lib/selenium/webdriver/
|
186
|
-
- lib/selenium/webdriver/
|
187
|
-
- lib/selenium/webdriver/
|
188
|
-
- lib/selenium/webdriver/
|
189
|
-
- lib/selenium/webdriver/firefox/
|
190
|
-
- lib/selenium/webdriver/firefox/
|
191
|
-
- lib/selenium/webdriver/firefox/
|
192
|
-
- lib/selenium/webdriver/firefox/
|
193
|
-
- lib/selenium/webdriver/firefox.rb
|
194
|
-
- lib/selenium/webdriver/
|
195
|
-
- lib/selenium/webdriver/
|
196
|
-
- lib/selenium/webdriver/
|
197
|
-
- lib/selenium/webdriver/
|
198
|
-
- lib/selenium/webdriver/
|
199
|
-
- lib/selenium/webdriver/
|
200
|
-
- lib/selenium/webdriver/
|
201
|
-
- lib/selenium/webdriver/
|
202
|
-
- lib/selenium/webdriver/
|
203
|
-
- lib/selenium/webdriver/
|
204
|
-
- lib/selenium/webdriver/
|
205
|
-
- lib/selenium/webdriver/remote/
|
206
|
-
- lib/selenium/webdriver/remote/
|
207
|
-
- lib/selenium/webdriver/remote/
|
208
|
-
- lib/selenium/webdriver/remote/response.rb
|
209
|
-
- lib/selenium/webdriver/remote/server_error.rb
|
210
|
-
- lib/selenium/webdriver/remote.rb
|
211
|
-
- lib/selenium/webdriver.rb
|
212
|
-
- lib/selenium
|
213
|
-
- lib/selenium
|
214
|
-
- CHANGES
|
215
|
-
- README
|
102
|
+
- lib/selenium-client.rb
|
103
|
+
- lib/selenium-webdriver.rb
|
104
|
+
- lib/selenium/client.rb
|
105
|
+
- lib/selenium/server.rb
|
106
|
+
- lib/selenium/webdriver.rb
|
107
|
+
- lib/selenium/client/base.rb
|
108
|
+
- lib/selenium/client/driver.rb
|
109
|
+
- lib/selenium/client/errors.rb
|
110
|
+
- lib/selenium/client/extensions.rb
|
111
|
+
- lib/selenium/client/idiomatic.rb
|
112
|
+
- lib/selenium/client/javascript_expression_builder.rb
|
113
|
+
- lib/selenium/client/legacy_driver.rb
|
114
|
+
- lib/selenium/client/protocol.rb
|
115
|
+
- lib/selenium/client/selenium_helper.rb
|
116
|
+
- lib/selenium/client/javascript_frameworks/jquery.rb
|
117
|
+
- lib/selenium/client/javascript_frameworks/prototype.rb
|
118
|
+
- lib/selenium/rake/server_task.rb
|
119
|
+
- lib/selenium/webdriver/android.rb
|
120
|
+
- lib/selenium/webdriver/chrome.rb
|
121
|
+
- lib/selenium/webdriver/common.rb
|
122
|
+
- lib/selenium/webdriver/firefox.rb
|
123
|
+
- lib/selenium/webdriver/ie.rb
|
124
|
+
- lib/selenium/webdriver/iphone.rb
|
125
|
+
- lib/selenium/webdriver/remote.rb
|
126
|
+
- lib/selenium/webdriver/android/bridge.rb
|
127
|
+
- lib/selenium/webdriver/chrome/bridge.rb
|
128
|
+
- lib/selenium/webdriver/chrome/service.rb
|
129
|
+
- lib/selenium/webdriver/common/action_builder.rb
|
130
|
+
- lib/selenium/webdriver/common/alert.rb
|
131
|
+
- lib/selenium/webdriver/common/bridge_helper.rb
|
132
|
+
- lib/selenium/webdriver/common/driver.rb
|
133
|
+
- lib/selenium/webdriver/common/element.rb
|
134
|
+
- lib/selenium/webdriver/common/error.rb
|
135
|
+
- lib/selenium/webdriver/common/file_reaper.rb
|
136
|
+
- lib/selenium/webdriver/common/keyboard.rb
|
137
|
+
- lib/selenium/webdriver/common/keys.rb
|
138
|
+
- lib/selenium/webdriver/common/mouse.rb
|
139
|
+
- lib/selenium/webdriver/common/navigation.rb
|
140
|
+
- lib/selenium/webdriver/common/options.rb
|
141
|
+
- lib/selenium/webdriver/common/platform.rb
|
142
|
+
- lib/selenium/webdriver/common/port_prober.rb
|
143
|
+
- lib/selenium/webdriver/common/proxy.rb
|
144
|
+
- lib/selenium/webdriver/common/search_context.rb
|
145
|
+
- lib/selenium/webdriver/common/socket_poller.rb
|
146
|
+
- lib/selenium/webdriver/common/target_locator.rb
|
147
|
+
- lib/selenium/webdriver/common/timeouts.rb
|
148
|
+
- lib/selenium/webdriver/common/wait.rb
|
149
|
+
- lib/selenium/webdriver/common/zipper.rb
|
150
|
+
- lib/selenium/webdriver/common/core_ext/dir.rb
|
151
|
+
- lib/selenium/webdriver/common/core_ext/string.rb
|
152
|
+
- lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb
|
153
|
+
- lib/selenium/webdriver/common/driver_extensions/rotatable.rb
|
154
|
+
- lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
|
155
|
+
- lib/selenium/webdriver/firefox/binary.rb
|
156
|
+
- lib/selenium/webdriver/firefox/bridge.rb
|
157
|
+
- lib/selenium/webdriver/firefox/extension.rb
|
158
|
+
- lib/selenium/webdriver/firefox/launcher.rb
|
159
|
+
- lib/selenium/webdriver/firefox/profile.rb
|
160
|
+
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
161
|
+
- lib/selenium/webdriver/firefox/socket_lock.rb
|
162
|
+
- lib/selenium/webdriver/firefox/util.rb
|
163
|
+
- lib/selenium/webdriver/firefox/extension/webdriver.xpi
|
164
|
+
- lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
|
165
|
+
- lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
|
166
|
+
- lib/selenium/webdriver/ie/bridge.rb
|
167
|
+
- lib/selenium/webdriver/ie/server.rb
|
168
|
+
- lib/selenium/webdriver/ie/native/win32/IEDriver.dll
|
169
|
+
- lib/selenium/webdriver/ie/native/x64/IEDriver.dll
|
170
|
+
- lib/selenium/webdriver/iphone/bridge.rb
|
171
|
+
- lib/selenium/webdriver/remote/bridge.rb
|
172
|
+
- lib/selenium/webdriver/remote/capabilities.rb
|
173
|
+
- lib/selenium/webdriver/remote/commands.rb
|
174
|
+
- lib/selenium/webdriver/remote/response.rb
|
175
|
+
- lib/selenium/webdriver/remote/server_error.rb
|
176
|
+
- lib/selenium/webdriver/remote/http/common.rb
|
177
|
+
- lib/selenium/webdriver/remote/http/curb.rb
|
178
|
+
- lib/selenium/webdriver/remote/http/default.rb
|
179
|
+
- lib/selenium/webdriver/remote/http/persistent.rb
|
180
|
+
- CHANGES
|
181
|
+
- README
|
216
182
|
has_rdoc: true
|
217
183
|
homepage: http://selenium.googlecode.com
|
218
184
|
licenses: []
|
@@ -221,29 +187,23 @@ post_install_message:
|
|
221
187
|
rdoc_options: []
|
222
188
|
|
223
189
|
require_paths:
|
224
|
-
- lib
|
190
|
+
- lib
|
225
191
|
required_ruby_version: !ruby/object:Gem::Requirement
|
226
192
|
none: false
|
227
193
|
requirements:
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
segments:
|
232
|
-
- 0
|
233
|
-
version: "0"
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: "0"
|
234
197
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
198
|
none: false
|
236
199
|
requirements:
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
segments:
|
241
|
-
- 0
|
242
|
-
version: "0"
|
200
|
+
- - ">="
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: "0"
|
243
203
|
requirements: []
|
244
204
|
|
245
205
|
rubyforge_project:
|
246
|
-
rubygems_version: 1.
|
206
|
+
rubygems_version: 1.4.1
|
247
207
|
signing_key:
|
248
208
|
specification_version: 3
|
249
209
|
summary: The next generation developer focused tool for automated testing of webapps
|