selenium-webdriver 2.12.2 → 2.13.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,8 +1,14 @@
1
+ 2.13.0 (2011-11-18)
2
+ ===================
3
+
4
+ * Firefox:
5
+ * Recovering from null window references in the Firefox driver (#1438)
6
+
1
7
  2.12.2 (2011-11-13)
2
8
  ===================
3
9
 
4
10
  * Firefox
5
- * Fix issue where Firefox 8 would throw permission errors after document.domain was modified.
11
+ * Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
6
12
  * Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
7
13
 
8
14
  2.12.1 (2011-11-11)
@@ -44,7 +44,7 @@ module Selenium
44
44
  # @api private
45
45
 
46
46
  def self.root
47
- @root ||= File.expand_path(File.join(File.dirname(__FILE__), ".."))
47
+ @root ||= File.expand_path("../..", __FILE__)
48
48
  end
49
49
 
50
50
  #
@@ -0,0 +1,302 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module Support
4
+ class Select
5
+
6
+ def initialize(element)
7
+ tag_name = element.tag_name
8
+
9
+ unless tag_name.downcase == "select"
10
+ raise ArgumentError, "unexpected tag name #{tag_name.inspect}"
11
+ end
12
+
13
+ @element = element
14
+ @multi = ![nil, "false"].include?(element.attribute(:multiple))
15
+ end
16
+
17
+ #
18
+ # Does this select element support selecting multiple options?
19
+ #
20
+
21
+ def multiple?
22
+ @multi
23
+ end
24
+
25
+ #
26
+ # Get all options for this select element
27
+ #
28
+
29
+ def options
30
+ @element.find_elements :tag_name => "option"
31
+ end
32
+
33
+ #
34
+ # Get all selected options for this select element
35
+ #
36
+
37
+ def selected_options
38
+ options.select { |e| e.selected? }
39
+ end
40
+
41
+ #
42
+ # Get the first selected option in this select element
43
+ #
44
+
45
+ def first_selected_option
46
+ option = options.find { |e| e.selected? }
47
+ option or raise Error::NoSuchElementError, 'no options are selected'
48
+ end
49
+
50
+ #
51
+ # Select options by visible text, index or value.
52
+ #
53
+
54
+ def select(how, what)
55
+ case how
56
+ when :text, :index, :value
57
+ raise NotImplementedError
58
+ else
59
+ raise ArgumentError, "can't select options by #{how.inspect}"
60
+ end
61
+ end
62
+
63
+ # /**
64
+ # * Select all options that display text matching the argument. That is, when given "Bar" this
65
+ # * would select an option like:
66
+ # *
67
+ # * <option value="foo">Bar</option>
68
+ # *
69
+ # * @param text The visible text to match against
70
+ # */
71
+ # public void selectByVisibleText(String text) {
72
+ # // try to find the option via XPATH ...
73
+ # List<WebElement> options =
74
+ # element.findElements(By.xpath(".//option[normalize-space(.) = " + escapeQuotes(text) + "]"));
75
+ #
76
+ # boolean matched = false;
77
+ # for (WebElement option : options) {
78
+ # setSelected(option);
79
+ # if (!isMultiple()) {
80
+ # return;
81
+ # }
82
+ # matched = true;
83
+ # }
84
+ #
85
+ # if (options.isEmpty() && text.contains(" ")) {
86
+ # String subStringWithoutSpace = getLongestSubstringWithoutSpace(text);
87
+ # List<WebElement> candidates;
88
+ # if ("".equals(subStringWithoutSpace)) {
89
+ # // hmm, text is either empty or contains only spaces - get all options ...
90
+ # candidates = element.findElements(By.tagName("option"));
91
+ # } else {
92
+ # // get candidates via XPATH ...
93
+ # candidates =
94
+ # element.findElements(By.xpath(".//option[contains(., " +
95
+ # escapeQuotes(subStringWithoutSpace) + ")]"));
96
+ # }
97
+ # for (WebElement option : candidates) {
98
+ # if (text.equals(option.getText())) {
99
+ # setSelected(option);
100
+ # if (!isMultiple()) {
101
+ # return;
102
+ # }
103
+ # matched = true;
104
+ # }
105
+ # }
106
+ # }
107
+ #
108
+ # if (!matched) {
109
+ # throw new NoSuchElementException("Cannot locate element with text: " + text);
110
+ # }
111
+ # }
112
+ #
113
+ # private String getLongestSubstringWithoutSpace(String s) {
114
+ # String result = "";
115
+ # StringTokenizer st = new StringTokenizer(s, " ");
116
+ # while (st.hasMoreTokens()) {
117
+ # String t = st.nextToken();
118
+ # if (t.length() > result.length()) {
119
+ # result = t;
120
+ # }
121
+ # }
122
+ # return result;
123
+ # }
124
+ #
125
+ # /**
126
+ # * Select the option at the given index. This is done by examing the "index" attribute of an
127
+ # * element, and not merely by counting.
128
+ # *
129
+ # * @param index The option at this index will be selected
130
+ # */
131
+ # public void selectByIndex(int index) {
132
+ # String match = String.valueOf(index);
133
+ #
134
+ # boolean matched = false;
135
+ # for (WebElement option : getOptions()) {
136
+ # if (match.equals(option.getAttribute("index"))) {
137
+ # setSelected(option);
138
+ # if (!isMultiple()) {
139
+ # return;
140
+ # }
141
+ # matched = true;
142
+ # }
143
+ # }
144
+ # if (!matched) {
145
+ # throw new NoSuchElementException("Cannot locate option with index: " + index);
146
+ # }
147
+ # }
148
+ #
149
+ # /**
150
+ # * Select all options that have a value matching the argument. That is, when given "foo" this
151
+ # * would select an option like:
152
+ # *
153
+ # * &lt;option value="foo"&gt;Bar&lt;/option&gt;
154
+ # *
155
+ # * @param value The value to match against
156
+ # */
157
+ # public void selectByValue(String value) {
158
+ # StringBuilder builder = new StringBuilder(".//option[@value = ");
159
+ # builder.append(escapeQuotes(value));
160
+ # builder.append("]");
161
+ # List<WebElement> options = element.findElements(By.xpath(builder.toString()));
162
+ #
163
+ # boolean matched = false;
164
+ # for (WebElement option : options) {
165
+ # setSelected(option);
166
+ # if (!isMultiple()) {
167
+ # return;
168
+ # }
169
+ # matched = true;
170
+ # }
171
+ #
172
+ # if (!matched) {
173
+ # throw new NoSuchElementException("Cannot locate option with value: " + value);
174
+ # }
175
+ # }
176
+ #
177
+
178
+ #
179
+ # Clear all selected entries. Only valid if the element supports multiple selections.
180
+ #
181
+
182
+ def deselect_all
183
+ unless multiple?
184
+ raise Error::UnsupportedOperationError, 'you may only deselect all options of a multi-select'
185
+ end
186
+
187
+ options.each { |e| deselect_option e }
188
+ end
189
+
190
+ #
191
+ # Deselect options by visible text, index or value.
192
+ #
193
+
194
+ def deselect(how, what)
195
+ case how
196
+ when :value, :index, :text
197
+ raise NotImplementedError
198
+ else
199
+ raise ArgumentError, "can't deselect options by #{how.inspect}"
200
+ end
201
+ end
202
+
203
+
204
+ #
205
+ # /**
206
+ # * Deselect all options that have a value matching the argument. That is, when given "foo" this
207
+ # * would deselect an option like:
208
+ # *
209
+ # * &lt;option value="foo"&gt;Bar&lt;/option&gt;
210
+ # *
211
+ # * @param value The value to match against
212
+ # */
213
+ # public void deselectByValue(String value) {
214
+ # StringBuilder builder = new StringBuilder(".//option[@value = ");
215
+ # builder.append(escapeQuotes(value));
216
+ # builder.append("]");
217
+ # List<WebElement> options = element.findElements(By.xpath(builder.toString()));
218
+ # for (WebElement option : options) {
219
+ # if (option.isSelected()) {
220
+ # option.click();
221
+ # }
222
+ # }
223
+ # }
224
+ #
225
+ # /**
226
+ # * Deselect the option at the given index. This is done by examing the "index" attribute of an
227
+ # * element, and not merely by counting.
228
+ # *
229
+ # * @param index The option at this index will be deselected
230
+ # */
231
+ # public void deselectByIndex(int index) {
232
+ # String match = String.valueOf(index);
233
+ #
234
+ # for (WebElement option : getOptions()) {
235
+ # if (match.equals(option.getAttribute("index")) && option.isSelected()) {
236
+ # option.click();
237
+ # }
238
+ # }
239
+ # }
240
+ #
241
+ # /**
242
+ # * Deselect all options that display text matching the argument. That is, when given "Bar" this
243
+ # * would deselect an option like:
244
+ # *
245
+ # * &lt;option value="foo"&gt;Bar&lt;/option&gt;
246
+ # *
247
+ # * @param text The visible text to match against
248
+ # */
249
+ # public void deselectByVisibleText(String text) {
250
+ # StringBuilder builder = new StringBuilder(".//option[normalize-space(.) = ");
251
+ # builder.append(escapeQuotes(text));
252
+ # builder.append("]");
253
+ # List<WebElement> options = element.findElements(By.xpath(builder.toString()));
254
+ # for (WebElement option : options) {
255
+ # if (option.isSelected()) {
256
+ # option.click();
257
+ # }
258
+ # }
259
+ # }
260
+ #
261
+ # protected String escapeQuotes(String toEscape) {
262
+ # // Convert strings with both quotes and ticks into: foo'"bar -> concat("foo'", '"', "bar")
263
+ # if (toEscape.indexOf("\"") > -1 && toEscape.indexOf("'") > -1) {
264
+ # boolean quoteIsLast = false;
265
+ # if (toEscape.indexOf("\"") == toEscape.length() - 1) {
266
+ # quoteIsLast = true;
267
+ # }
268
+ # String[] substrings = toEscape.split("\"");
269
+ #
270
+ # StringBuilder quoted = new StringBuilder("concat(");
271
+ # for (int i = 0; i < substrings.length; i++) {
272
+ # quoted.append("\"").append(substrings[i]).append("\"");
273
+ # quoted
274
+ # .append(((i == substrings.length - 1) ? (quoteIsLast ? ", '\"')" : ")") : ", '\"', "));
275
+ # }
276
+ # return quoted.toString();
277
+ # }
278
+ #
279
+ # // Escape string with just a quote into being single quoted: f"oo -> 'f"oo'
280
+ # if (toEscape.indexOf("\"") > -1) {
281
+ # return String.format("'%s'", toEscape);
282
+ # }
283
+ #
284
+ # // Otherwise return the quoted string
285
+ # return String.format("\"%s\"", toEscape);
286
+ # }
287
+ #
288
+
289
+ private
290
+
291
+ def select_option(opt)
292
+ opt.click unless opt.selected?
293
+ end
294
+
295
+ def deselect_option(opt)
296
+ opt.click if opt.selected?
297
+ end
298
+
299
+ end
300
+ end
301
+ end
302
+ end
metadata CHANGED
@@ -1,106 +1,144 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 59
4
5
  prerelease:
5
- version: 2.12.2
6
+ segments:
7
+ - 2
8
+ - 13
9
+ - 0
10
+ version: 2.13.0
6
11
  platform: ruby
7
12
  authors:
8
- - Jari Bakken
13
+ - Jari Bakken
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-11-13 00:00:00 +01:00
14
- default_executable:
18
+ date: 2011-11-18 00:00:00 Z
15
19
  dependencies:
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.2.1
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.9
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
93
- - !ruby/object:Gem::Dependency
94
- name: webmock
95
- prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: 1.7.5
102
- type: :development
103
- version_requirements: *id008
20
+ - !ruby/object:Gem::Dependency
21
+ name: json_pure
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rubyzip
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: childprocess
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 21
57
+ segments:
58
+ - 0
59
+ - 2
60
+ - 1
61
+ version: 0.2.1
62
+ type: :runtime
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: ffi
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ~>
71
+ - !ruby/object:Gem::Version
72
+ hash: 5
73
+ segments:
74
+ - 1
75
+ - 0
76
+ - 9
77
+ version: 1.0.9
78
+ type: :runtime
79
+ version_requirements: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ prerelease: false
83
+ requirement: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ hash: 3
89
+ segments:
90
+ - 2
91
+ - 0
92
+ version: "2.0"
93
+ type: :development
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: rack
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ hash: 15
104
+ segments:
105
+ - 1
106
+ - 0
107
+ version: "1.0"
108
+ type: :development
109
+ version_requirements: *id006
110
+ - !ruby/object:Gem::Dependency
111
+ name: ci_reporter
112
+ prerelease: false
113
+ requirement: &id007 !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ hash: 11
119
+ segments:
120
+ - 1
121
+ - 6
122
+ - 2
123
+ version: 1.6.2
124
+ type: :development
125
+ version_requirements: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ name: webmock
128
+ prerelease: false
129
+ requirement: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ hash: 1
135
+ segments:
136
+ - 1
137
+ - 7
138
+ - 5
139
+ version: 1.7.5
140
+ type: :development
141
+ version_requirements: *id008
104
142
  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.
105
143
  email: jari.bakken@gmail.com
106
144
  executables: []
@@ -110,99 +148,99 @@ extensions: []
110
148
  extra_rdoc_files: []
111
149
 
112
150
  files:
113
- - lib/selenium-client.rb
114
- - lib/selenium-webdriver.rb
115
- - lib/selenium/client.rb
116
- - lib/selenium/server.rb
117
- - lib/selenium/webdriver.rb
118
- - lib/selenium/client/base.rb
119
- - lib/selenium/client/driver.rb
120
- - lib/selenium/client/errors.rb
121
- - lib/selenium/client/extensions.rb
122
- - lib/selenium/client/idiomatic.rb
123
- - lib/selenium/client/javascript_expression_builder.rb
124
- - lib/selenium/client/legacy_driver.rb
125
- - lib/selenium/client/protocol.rb
126
- - lib/selenium/client/selenium_helper.rb
127
- - lib/selenium/client/javascript_frameworks/jquery.rb
128
- - lib/selenium/client/javascript_frameworks/prototype.rb
129
- - lib/selenium/rake/server_task.rb
130
- - lib/selenium/webdriver/android.rb
131
- - lib/selenium/webdriver/chrome.rb
132
- - lib/selenium/webdriver/common.rb
133
- - lib/selenium/webdriver/firefox.rb
134
- - lib/selenium/webdriver/ie.rb
135
- - lib/selenium/webdriver/iphone.rb
136
- - lib/selenium/webdriver/opera.rb
137
- - lib/selenium/webdriver/remote.rb
138
- - lib/selenium/webdriver/support.rb
139
- - lib/selenium/webdriver/android/bridge.rb
140
- - lib/selenium/webdriver/chrome/bridge.rb
141
- - lib/selenium/webdriver/chrome/profile.rb
142
- - lib/selenium/webdriver/chrome/service.rb
143
- - lib/selenium/webdriver/common/action_builder.rb
144
- - lib/selenium/webdriver/common/alert.rb
145
- - lib/selenium/webdriver/common/bridge_helper.rb
146
- - lib/selenium/webdriver/common/driver.rb
147
- - lib/selenium/webdriver/common/element.rb
148
- - lib/selenium/webdriver/common/error.rb
149
- - lib/selenium/webdriver/common/file_reaper.rb
150
- - lib/selenium/webdriver/common/keyboard.rb
151
- - lib/selenium/webdriver/common/keys.rb
152
- - lib/selenium/webdriver/common/mouse.rb
153
- - lib/selenium/webdriver/common/navigation.rb
154
- - lib/selenium/webdriver/common/options.rb
155
- - lib/selenium/webdriver/common/platform.rb
156
- - lib/selenium/webdriver/common/port_prober.rb
157
- - lib/selenium/webdriver/common/profile_helper.rb
158
- - lib/selenium/webdriver/common/proxy.rb
159
- - lib/selenium/webdriver/common/search_context.rb
160
- - lib/selenium/webdriver/common/socket_poller.rb
161
- - lib/selenium/webdriver/common/target_locator.rb
162
- - lib/selenium/webdriver/common/timeouts.rb
163
- - lib/selenium/webdriver/common/wait.rb
164
- - lib/selenium/webdriver/common/window.rb
165
- - lib/selenium/webdriver/common/zipper.rb
166
- - lib/selenium/webdriver/common/core_ext/base64.rb
167
- - lib/selenium/webdriver/common/core_ext/dir.rb
168
- - lib/selenium/webdriver/common/core_ext/string.rb
169
- - lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb
170
- - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
171
- - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
172
- - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
173
- - lib/selenium/webdriver/firefox/binary.rb
174
- - lib/selenium/webdriver/firefox/bridge.rb
175
- - lib/selenium/webdriver/firefox/extension.rb
176
- - lib/selenium/webdriver/firefox/launcher.rb
177
- - lib/selenium/webdriver/firefox/profile.rb
178
- - lib/selenium/webdriver/firefox/profiles_ini.rb
179
- - lib/selenium/webdriver/firefox/socket_lock.rb
180
- - lib/selenium/webdriver/firefox/util.rb
181
- - lib/selenium/webdriver/firefox/extension/webdriver.xpi
182
- - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
183
- - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
184
- - lib/selenium/webdriver/ie/bridge.rb
185
- - lib/selenium/webdriver/ie/server.rb
186
- - lib/selenium/webdriver/ie/native/win32/IEDriver.dll
187
- - lib/selenium/webdriver/ie/native/x64/IEDriver.dll
188
- - lib/selenium/webdriver/iphone/bridge.rb
189
- - lib/selenium/webdriver/opera/bridge.rb
190
- - lib/selenium/webdriver/opera/service.rb
191
- - lib/selenium/webdriver/remote/bridge.rb
192
- - lib/selenium/webdriver/remote/capabilities.rb
193
- - lib/selenium/webdriver/remote/commands.rb
194
- - lib/selenium/webdriver/remote/response.rb
195
- - lib/selenium/webdriver/remote/server_error.rb
196
- - lib/selenium/webdriver/remote/http/common.rb
197
- - lib/selenium/webdriver/remote/http/curb.rb
198
- - lib/selenium/webdriver/remote/http/default.rb
199
- - lib/selenium/webdriver/remote/http/persistent.rb
200
- - lib/selenium/webdriver/support/abstract_event_listener.rb
201
- - lib/selenium/webdriver/support/block_event_listener.rb
202
- - lib/selenium/webdriver/support/event_firing_bridge.rb
203
- - CHANGES
204
- - README
205
- has_rdoc: true
151
+ - lib/selenium/client/base.rb
152
+ - lib/selenium/client/driver.rb
153
+ - lib/selenium/client/errors.rb
154
+ - lib/selenium/client/extensions.rb
155
+ - lib/selenium/client/idiomatic.rb
156
+ - lib/selenium/client/javascript_expression_builder.rb
157
+ - lib/selenium/client/javascript_frameworks/jquery.rb
158
+ - lib/selenium/client/javascript_frameworks/prototype.rb
159
+ - lib/selenium/client/legacy_driver.rb
160
+ - lib/selenium/client/protocol.rb
161
+ - lib/selenium/client/selenium_helper.rb
162
+ - lib/selenium/client.rb
163
+ - lib/selenium/rake/server_task.rb
164
+ - lib/selenium/server.rb
165
+ - lib/selenium/webdriver/android/bridge.rb
166
+ - lib/selenium/webdriver/android.rb
167
+ - lib/selenium/webdriver/chrome/bridge.rb
168
+ - lib/selenium/webdriver/chrome/profile.rb
169
+ - lib/selenium/webdriver/chrome/service.rb
170
+ - lib/selenium/webdriver/chrome.rb
171
+ - lib/selenium/webdriver/common/action_builder.rb
172
+ - lib/selenium/webdriver/common/alert.rb
173
+ - lib/selenium/webdriver/common/bridge_helper.rb
174
+ - lib/selenium/webdriver/common/core_ext/base64.rb
175
+ - lib/selenium/webdriver/common/core_ext/dir.rb
176
+ - lib/selenium/webdriver/common/core_ext/string.rb
177
+ - lib/selenium/webdriver/common/driver.rb
178
+ - lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb
179
+ - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
180
+ - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
181
+ - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
182
+ - lib/selenium/webdriver/common/element.rb
183
+ - lib/selenium/webdriver/common/error.rb
184
+ - lib/selenium/webdriver/common/file_reaper.rb
185
+ - lib/selenium/webdriver/common/keyboard.rb
186
+ - lib/selenium/webdriver/common/keys.rb
187
+ - lib/selenium/webdriver/common/mouse.rb
188
+ - lib/selenium/webdriver/common/navigation.rb
189
+ - lib/selenium/webdriver/common/options.rb
190
+ - lib/selenium/webdriver/common/platform.rb
191
+ - lib/selenium/webdriver/common/port_prober.rb
192
+ - lib/selenium/webdriver/common/profile_helper.rb
193
+ - lib/selenium/webdriver/common/proxy.rb
194
+ - lib/selenium/webdriver/common/search_context.rb
195
+ - lib/selenium/webdriver/common/socket_poller.rb
196
+ - lib/selenium/webdriver/common/target_locator.rb
197
+ - lib/selenium/webdriver/common/timeouts.rb
198
+ - lib/selenium/webdriver/common/wait.rb
199
+ - lib/selenium/webdriver/common/window.rb
200
+ - lib/selenium/webdriver/common/zipper.rb
201
+ - lib/selenium/webdriver/common.rb
202
+ - lib/selenium/webdriver/firefox/binary.rb
203
+ - lib/selenium/webdriver/firefox/bridge.rb
204
+ - lib/selenium/webdriver/firefox/extension/webdriver.xpi
205
+ - lib/selenium/webdriver/firefox/extension.rb
206
+ - lib/selenium/webdriver/firefox/launcher.rb
207
+ - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
208
+ - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
209
+ - lib/selenium/webdriver/firefox/profile.rb
210
+ - lib/selenium/webdriver/firefox/profiles_ini.rb
211
+ - lib/selenium/webdriver/firefox/socket_lock.rb
212
+ - lib/selenium/webdriver/firefox/util.rb
213
+ - lib/selenium/webdriver/firefox.rb
214
+ - lib/selenium/webdriver/ie/bridge.rb
215
+ - lib/selenium/webdriver/ie/native/win32/IEDriver.dll
216
+ - lib/selenium/webdriver/ie/native/x64/IEDriver.dll
217
+ - lib/selenium/webdriver/ie/server.rb
218
+ - lib/selenium/webdriver/ie.rb
219
+ - lib/selenium/webdriver/iphone/bridge.rb
220
+ - lib/selenium/webdriver/iphone.rb
221
+ - lib/selenium/webdriver/opera/bridge.rb
222
+ - lib/selenium/webdriver/opera/service.rb
223
+ - lib/selenium/webdriver/opera.rb
224
+ - lib/selenium/webdriver/remote/bridge.rb
225
+ - lib/selenium/webdriver/remote/capabilities.rb
226
+ - lib/selenium/webdriver/remote/commands.rb
227
+ - lib/selenium/webdriver/remote/http/common.rb
228
+ - lib/selenium/webdriver/remote/http/curb.rb
229
+ - lib/selenium/webdriver/remote/http/default.rb
230
+ - lib/selenium/webdriver/remote/http/persistent.rb
231
+ - lib/selenium/webdriver/remote/response.rb
232
+ - lib/selenium/webdriver/remote/server_error.rb
233
+ - lib/selenium/webdriver/remote.rb
234
+ - lib/selenium/webdriver/support/abstract_event_listener.rb
235
+ - lib/selenium/webdriver/support/block_event_listener.rb
236
+ - lib/selenium/webdriver/support/event_firing_bridge.rb
237
+ - lib/selenium/webdriver/support/select.rb
238
+ - lib/selenium/webdriver/support.rb
239
+ - lib/selenium/webdriver.rb
240
+ - lib/selenium-client.rb
241
+ - lib/selenium-webdriver.rb
242
+ - CHANGES
243
+ - README
206
244
  homepage: http://selenium.googlecode.com
207
245
  licenses: []
208
246
 
@@ -210,23 +248,29 @@ post_install_message:
210
248
  rdoc_options: []
211
249
 
212
250
  require_paths:
213
- - lib
251
+ - lib
214
252
  required_ruby_version: !ruby/object:Gem::Requirement
215
253
  none: false
216
254
  requirements:
217
- - - ">="
218
- - !ruby/object:Gem::Version
219
- version: "0"
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ hash: 3
258
+ segments:
259
+ - 0
260
+ version: "0"
220
261
  required_rubygems_version: !ruby/object:Gem::Requirement
221
262
  none: false
222
263
  requirements:
223
- - - ">="
224
- - !ruby/object:Gem::Version
225
- version: "0"
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ hash: 3
267
+ segments:
268
+ - 0
269
+ version: "0"
226
270
  requirements: []
227
271
 
228
272
  rubyforge_project:
229
- rubygems_version: 1.4.1
273
+ rubygems_version: 1.8.10
230
274
  signing_key:
231
275
  specification_version: 3
232
276
  summary: The next generation developer focused tool for automated testing of webapps