selenium-webdriver 2.6.0 → 2.7.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,3 +1,16 @@
1
+ 2.7.0 (2011-09-23)
2
+ ==================
3
+
4
+ * Firefox
5
+ - no longer types in the URL bar (#2487)
6
+ - fixed native events click() issue when element is out of view
7
+ - double click + get no longer hangs firefox (#2456)
8
+ - make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
9
+ * IE
10
+ - fix event firing issue (#2516)
11
+ * Opera
12
+ - don't start the remote service if the driver is passed bad arguments
13
+
1
14
  2.6.0 (2011-09-13)
2
15
  ==================
3
16
 
@@ -8,8 +21,8 @@
8
21
  - Disable malware check
9
22
  - Various #click improvements
10
23
  - Don't scroll if element is already in view
11
- * IE:
12
- - improve scrolling to elements with 'overflow: sroll'
24
+ * IE:
25
+ - improve scrolling to elements with 'overflow: scroll'
13
26
  - properly trigger jQuery change events (#2207)
14
27
  - improve handling of nested modal dialogs
15
28
  * Opera:
@@ -24,6 +24,8 @@ module Selenium
24
24
  #
25
25
 
26
26
  class Server
27
+ class Error < StandardError; end
28
+
27
29
  CL_RESET = WebDriver::Platform.windows? ? '' : "\r\e[0K"
28
30
 
29
31
  def self.get(required_version, opts = {})
@@ -65,7 +67,7 @@ module Selenium
65
67
  end
66
68
 
67
69
  unless resp.kind_of? Net::HTTPSuccess
68
- raise "#{resp.code} for #{download_file_name}"
70
+ raise Error, "#{resp.code} for #{download_file_name}"
69
71
  end
70
72
  end
71
73
  end
@@ -186,13 +188,13 @@ module Selenium
186
188
 
187
189
  def poll_for_service
188
190
  unless socket.connected?
189
- raise "remote server not launched in #{@timeout} seconds"
191
+ raise Error, "remote server not launched in #{@timeout} seconds"
190
192
  end
191
193
  end
192
194
 
193
195
  def poll_for_shutdown
194
196
  unless socket.closed?
195
- raise "remote server not stopped in #{@timeout} seconds"
197
+ raise Error, "remote server not stopped in #{@timeout} seconds"
196
198
  end
197
199
  end
198
200
 
@@ -87,7 +87,7 @@ module Selenium
87
87
  raise ArgumentError, "preference values must be plain strings: #{key.inspect} => #{value.inspect}"
88
88
  end
89
89
 
90
- value = %{"#{value}"}
90
+ value = value.to_json
91
91
  when TrueClass, FalseClass, Integer, Float
92
92
  value = value.to_s
93
93
  else
@@ -12,11 +12,12 @@ module Selenium
12
12
 
13
13
  def initialize(opts = {})
14
14
  @service = Service.default_service :log => (opts[:logging_level] ? true : false)
15
- @service.start
16
15
 
17
16
  http_client = opts.delete(:http_client)
18
17
  caps = create_capabilities(opts)
19
18
 
19
+ @service.start
20
+
20
21
  remote_opts = {
21
22
  :url => @service.uri,
22
23
  :desired_capabilities => caps
@@ -32,7 +33,10 @@ module Selenium
32
33
  end
33
34
 
34
35
  def driver_extensions
35
- [DriverExtensions::TakesScreenshot]
36
+ [
37
+ DriverExtensions::HasInputDevices,
38
+ DriverExtensions::TakesScreenshot
39
+ ]
36
40
  end
37
41
 
38
42
  def capabilities
@@ -48,6 +52,8 @@ module Selenium
48
52
  private
49
53
 
50
54
  def create_capabilities(opts)
55
+ original_opts = opts.dup
56
+
51
57
  arguments = opts.delete(:arguments)
52
58
  logging_level = opts.delete(:logging_level)
53
59
  logging_file = opts.delete(:logging_file)
@@ -90,7 +96,7 @@ module Selenium
90
96
  caps.merge! 'opera.host' => host if host
91
97
  caps.merge! 'opera.port' => port.to_i if port
92
98
  caps.merge! 'opera.launcher' => launcher if launcher
93
- caps.merge! 'opera.profile' => profile
99
+ caps.merge! 'opera.profile' => profile if original_opts.has_key?(:profile)
94
100
  caps.merge! 'opera.idle' => !!idle unless idle.nil?
95
101
  caps.merge! 'opera.display' => display.to_i if display
96
102
  caps.merge! 'opera.autostart' => !!autostart unless autostart.nil?
metadata CHANGED
@@ -1,144 +1,106 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
5
4
  prerelease:
6
- segments:
7
- - 2
8
- - 6
9
- - 0
10
- version: 2.6.0
5
+ version: 2.7.0
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-09-13 00:00:00 Z
13
+ date: 2011-09-23 00:00:00 +02:00
14
+ default_executable:
19
15
  dependencies:
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: 25
73
- segments:
74
- - 1
75
- - 0
76
- - 7
77
- version: 1.0.7
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
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.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
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
142
104
  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.
143
105
  email: jari.bakken@gmail.com
144
106
  executables: []
@@ -148,96 +110,97 @@ extensions: []
148
110
  extra_rdoc_files: []
149
111
 
150
112
  files:
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/element.rb
182
- - lib/selenium/webdriver/common/error.rb
183
- - lib/selenium/webdriver/common/file_reaper.rb
184
- - lib/selenium/webdriver/common/keyboard.rb
185
- - lib/selenium/webdriver/common/keys.rb
186
- - lib/selenium/webdriver/common/mouse.rb
187
- - lib/selenium/webdriver/common/navigation.rb
188
- - lib/selenium/webdriver/common/options.rb
189
- - lib/selenium/webdriver/common/platform.rb
190
- - lib/selenium/webdriver/common/port_prober.rb
191
- - lib/selenium/webdriver/common/profile_helper.rb
192
- - lib/selenium/webdriver/common/proxy.rb
193
- - lib/selenium/webdriver/common/search_context.rb
194
- - lib/selenium/webdriver/common/socket_poller.rb
195
- - lib/selenium/webdriver/common/target_locator.rb
196
- - lib/selenium/webdriver/common/timeouts.rb
197
- - lib/selenium/webdriver/common/wait.rb
198
- - lib/selenium/webdriver/common/zipper.rb
199
- - lib/selenium/webdriver/common.rb
200
- - lib/selenium/webdriver/firefox/binary.rb
201
- - lib/selenium/webdriver/firefox/bridge.rb
202
- - lib/selenium/webdriver/firefox/extension/webdriver.xpi
203
- - lib/selenium/webdriver/firefox/extension.rb
204
- - lib/selenium/webdriver/firefox/launcher.rb
205
- - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
206
- - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
207
- - lib/selenium/webdriver/firefox/profile.rb
208
- - lib/selenium/webdriver/firefox/profiles_ini.rb
209
- - lib/selenium/webdriver/firefox/socket_lock.rb
210
- - lib/selenium/webdriver/firefox/util.rb
211
- - lib/selenium/webdriver/firefox.rb
212
- - lib/selenium/webdriver/ie/bridge.rb
213
- - lib/selenium/webdriver/ie/native/win32/IEDriver.dll
214
- - lib/selenium/webdriver/ie/native/x64/IEDriver.dll
215
- - lib/selenium/webdriver/ie/server.rb
216
- - lib/selenium/webdriver/ie.rb
217
- - lib/selenium/webdriver/iphone/bridge.rb
218
- - lib/selenium/webdriver/iphone.rb
219
- - lib/selenium/webdriver/opera/bridge.rb
220
- - lib/selenium/webdriver/opera/service.rb
221
- - lib/selenium/webdriver/opera.rb
222
- - lib/selenium/webdriver/remote/bridge.rb
223
- - lib/selenium/webdriver/remote/capabilities.rb
224
- - lib/selenium/webdriver/remote/commands.rb
225
- - lib/selenium/webdriver/remote/http/common.rb
226
- - lib/selenium/webdriver/remote/http/curb.rb
227
- - lib/selenium/webdriver/remote/http/default.rb
228
- - lib/selenium/webdriver/remote/http/persistent.rb
229
- - lib/selenium/webdriver/remote/response.rb
230
- - lib/selenium/webdriver/remote/server_error.rb
231
- - lib/selenium/webdriver/remote.rb
232
- - lib/selenium/webdriver/support/abstract_event_listener.rb
233
- - lib/selenium/webdriver/support/block_event_listener.rb
234
- - lib/selenium/webdriver/support/event_firing_bridge.rb
235
- - lib/selenium/webdriver/support.rb
236
- - lib/selenium/webdriver.rb
237
- - lib/selenium-client.rb
238
- - lib/selenium-webdriver.rb
239
- - CHANGES
240
- - README
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/zipper.rb
165
+ - lib/selenium/webdriver/common/core_ext/base64.rb
166
+ - lib/selenium/webdriver/common/core_ext/dir.rb
167
+ - lib/selenium/webdriver/common/core_ext/string.rb
168
+ - lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb
169
+ - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
170
+ - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
171
+ - lib/selenium/webdriver/firefox/binary.rb
172
+ - lib/selenium/webdriver/firefox/bridge.rb
173
+ - lib/selenium/webdriver/firefox/extension.rb
174
+ - lib/selenium/webdriver/firefox/launcher.rb
175
+ - lib/selenium/webdriver/firefox/profile.rb
176
+ - lib/selenium/webdriver/firefox/profiles_ini.rb
177
+ - lib/selenium/webdriver/firefox/socket_lock.rb
178
+ - lib/selenium/webdriver/firefox/util.rb
179
+ - lib/selenium/webdriver/firefox/extension/webdriver.xpi
180
+ - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
181
+ - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
182
+ - lib/selenium/webdriver/ie/bridge.rb
183
+ - lib/selenium/webdriver/ie/server.rb
184
+ - lib/selenium/webdriver/ie/native/win32/IEDriver.dll
185
+ - lib/selenium/webdriver/ie/native/x64/IEDriver.dll
186
+ - lib/selenium/webdriver/iphone/bridge.rb
187
+ - lib/selenium/webdriver/opera/bridge.rb
188
+ - lib/selenium/webdriver/opera/service.rb
189
+ - lib/selenium/webdriver/remote/bridge.rb
190
+ - lib/selenium/webdriver/remote/capabilities.rb
191
+ - lib/selenium/webdriver/remote/commands.rb
192
+ - lib/selenium/webdriver/remote/response.rb
193
+ - lib/selenium/webdriver/remote/server_error.rb
194
+ - lib/selenium/webdriver/remote/http/common.rb
195
+ - lib/selenium/webdriver/remote/http/curb.rb
196
+ - lib/selenium/webdriver/remote/http/default.rb
197
+ - lib/selenium/webdriver/remote/http/persistent.rb
198
+ - lib/selenium/webdriver/support/abstract_event_listener.rb
199
+ - lib/selenium/webdriver/support/block_event_listener.rb
200
+ - lib/selenium/webdriver/support/event_firing_bridge.rb
201
+ - CHANGES
202
+ - README
203
+ has_rdoc: true
241
204
  homepage: http://selenium.googlecode.com
242
205
  licenses: []
243
206
 
@@ -245,29 +208,23 @@ post_install_message:
245
208
  rdoc_options: []
246
209
 
247
210
  require_paths:
248
- - lib
211
+ - lib
249
212
  required_ruby_version: !ruby/object:Gem::Requirement
250
213
  none: false
251
214
  requirements:
252
- - - ">="
253
- - !ruby/object:Gem::Version
254
- hash: 3
255
- segments:
256
- - 0
257
- version: "0"
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: "0"
258
218
  required_rubygems_version: !ruby/object:Gem::Requirement
259
219
  none: false
260
220
  requirements:
261
- - - ">="
262
- - !ruby/object:Gem::Version
263
- hash: 3
264
- segments:
265
- - 0
266
- version: "0"
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: "0"
267
224
  requirements: []
268
225
 
269
226
  rubyforge_project:
270
- rubygems_version: 1.8.10
227
+ rubygems_version: 1.4.1
271
228
  signing_key:
272
229
  specification_version: 3
273
230
  summary: The next generation developer focused tool for automated testing of webapps