selenium-webdriver 2.12.2 → 2.13.0

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 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