selenium-webdriver 2.6.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
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