browserstack-webdriver 0.0.1

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.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +791 -0
  3. data/README.md +31 -0
  4. data/build.desc +334 -0
  5. data/lib/selenium-client.rb +2 -0
  6. data/lib/selenium-webdriver.rb +1 -0
  7. data/lib/selenium/client.rb +37 -0
  8. data/lib/selenium/client/base.rb +132 -0
  9. data/lib/selenium/client/driver.rb +10 -0
  10. data/lib/selenium/client/errors.rb +9 -0
  11. data/lib/selenium/client/extensions.rb +118 -0
  12. data/lib/selenium/client/idiomatic.rb +488 -0
  13. data/lib/selenium/client/javascript_expression_builder.rb +116 -0
  14. data/lib/selenium/client/javascript_frameworks/jquery.rb +13 -0
  15. data/lib/selenium/client/javascript_frameworks/prototype.rb +13 -0
  16. data/lib/selenium/client/legacy_driver.rb +1720 -0
  17. data/lib/selenium/client/protocol.rb +104 -0
  18. data/lib/selenium/client/selenium_helper.rb +34 -0
  19. data/lib/selenium/rake/server_task.rb +157 -0
  20. data/lib/selenium/server.rb +248 -0
  21. data/lib/selenium/webdriver.rb +71 -0
  22. data/lib/selenium/webdriver/android.rb +9 -0
  23. data/lib/selenium/webdriver/android/bridge.rb +47 -0
  24. data/lib/selenium/webdriver/chrome.rb +26 -0
  25. data/lib/selenium/webdriver/chrome/bridge.rb +120 -0
  26. data/lib/selenium/webdriver/chrome/profile.rb +90 -0
  27. data/lib/selenium/webdriver/chrome/service.rb +75 -0
  28. data/lib/selenium/webdriver/common.rb +44 -0
  29. data/lib/selenium/webdriver/common/action_builder.rb +352 -0
  30. data/lib/selenium/webdriver/common/alert.rb +30 -0
  31. data/lib/selenium/webdriver/common/bridge_helper.rb +67 -0
  32. data/lib/selenium/webdriver/common/core_ext/base64.rb +9 -0
  33. data/lib/selenium/webdriver/common/core_ext/dir.rb +42 -0
  34. data/lib/selenium/webdriver/common/core_ext/string.rb +5 -0
  35. data/lib/selenium/webdriver/common/driver.rb +301 -0
  36. data/lib/selenium/webdriver/common/driver_extensions/has_browser_connection.rb +17 -0
  37. data/lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb +39 -0
  38. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +25 -0
  39. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +13 -0
  40. data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +22 -0
  41. data/lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb +19 -0
  42. data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +22 -0
  43. data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +45 -0
  44. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +43 -0
  45. data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +46 -0
  46. data/lib/selenium/webdriver/common/element.rb +293 -0
  47. data/lib/selenium/webdriver/common/error.rb +207 -0
  48. data/lib/selenium/webdriver/common/file_reaper.rb +47 -0
  49. data/lib/selenium/webdriver/common/html5/local_storage.rb +42 -0
  50. data/lib/selenium/webdriver/common/html5/location.rb +0 -0
  51. data/lib/selenium/webdriver/common/html5/session_storage.rb +44 -0
  52. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +42 -0
  53. data/lib/selenium/webdriver/common/json_helper.rb +34 -0
  54. data/lib/selenium/webdriver/common/keyboard.rb +55 -0
  55. data/lib/selenium/webdriver/common/keys.rb +109 -0
  56. data/lib/selenium/webdriver/common/log_entry.rb +29 -0
  57. data/lib/selenium/webdriver/common/logs.rb +23 -0
  58. data/lib/selenium/webdriver/common/mouse.rb +72 -0
  59. data/lib/selenium/webdriver/common/navigation.rb +43 -0
  60. data/lib/selenium/webdriver/common/options.rb +136 -0
  61. data/lib/selenium/webdriver/common/platform.rb +218 -0
  62. data/lib/selenium/webdriver/common/port_prober.rb +42 -0
  63. data/lib/selenium/webdriver/common/profile_helper.rb +67 -0
  64. data/lib/selenium/webdriver/common/proxy.rb +149 -0
  65. data/lib/selenium/webdriver/common/search_context.rb +92 -0
  66. data/lib/selenium/webdriver/common/socket_poller.rb +105 -0
  67. data/lib/selenium/webdriver/common/target_locator.rb +81 -0
  68. data/lib/selenium/webdriver/common/timeouts.rb +38 -0
  69. data/lib/selenium/webdriver/common/touch_action_builder.rb +64 -0
  70. data/lib/selenium/webdriver/common/touch_screen.rb +105 -0
  71. data/lib/selenium/webdriver/common/wait.rb +63 -0
  72. data/lib/selenium/webdriver/common/window.rb +104 -0
  73. data/lib/selenium/webdriver/common/zipper.rb +82 -0
  74. data/lib/selenium/webdriver/firefox.rb +37 -0
  75. data/lib/selenium/webdriver/firefox/binary.rb +158 -0
  76. data/lib/selenium/webdriver/firefox/bridge.rb +70 -0
  77. data/lib/selenium/webdriver/firefox/extension.rb +52 -0
  78. data/lib/selenium/webdriver/firefox/launcher.rb +106 -0
  79. data/lib/selenium/webdriver/firefox/profile.rb +263 -0
  80. data/lib/selenium/webdriver/firefox/profiles_ini.rb +62 -0
  81. data/lib/selenium/webdriver/firefox/socket_lock.rb +61 -0
  82. data/lib/selenium/webdriver/firefox/util.rb +29 -0
  83. data/lib/selenium/webdriver/ie.rb +19 -0
  84. data/lib/selenium/webdriver/ie/bridge.rb +68 -0
  85. data/lib/selenium/webdriver/ie/server.rb +86 -0
  86. data/lib/selenium/webdriver/iphone.rb +9 -0
  87. data/lib/selenium/webdriver/iphone/bridge.rb +45 -0
  88. data/lib/selenium/webdriver/opera.rb +24 -0
  89. data/lib/selenium/webdriver/opera/bridge.rb +112 -0
  90. data/lib/selenium/webdriver/opera/service.rb +49 -0
  91. data/lib/selenium/webdriver/phantomjs.rb +22 -0
  92. data/lib/selenium/webdriver/phantomjs/bridge.rb +59 -0
  93. data/lib/selenium/webdriver/phantomjs/service.rb +90 -0
  94. data/lib/selenium/webdriver/remote.rb +22 -0
  95. data/lib/selenium/webdriver/remote/bridge.rb +644 -0
  96. data/lib/selenium/webdriver/remote/capabilities.rb +267 -0
  97. data/lib/selenium/webdriver/remote/commands.rb +193 -0
  98. data/lib/selenium/webdriver/remote/http/common.rb +74 -0
  99. data/lib/selenium/webdriver/remote/http/curb.rb +79 -0
  100. data/lib/selenium/webdriver/remote/http/default.rb +139 -0
  101. data/lib/selenium/webdriver/remote/http/persistent.rb +38 -0
  102. data/lib/selenium/webdriver/remote/response.rb +97 -0
  103. data/lib/selenium/webdriver/remote/server_error.rb +17 -0
  104. data/lib/selenium/webdriver/safari.rb +46 -0
  105. data/lib/selenium/webdriver/safari/bridge.rb +110 -0
  106. data/lib/selenium/webdriver/safari/browser.rb +20 -0
  107. data/lib/selenium/webdriver/safari/extension.rb +120 -0
  108. data/lib/selenium/webdriver/safari/server.rb +145 -0
  109. data/lib/selenium/webdriver/support.rb +5 -0
  110. data/lib/selenium/webdriver/support/abstract_event_listener.rb +28 -0
  111. data/lib/selenium/webdriver/support/block_event_listener.rb +17 -0
  112. data/lib/selenium/webdriver/support/color.rb +110 -0
  113. data/lib/selenium/webdriver/support/event_firing_bridge.rb +112 -0
  114. data/lib/selenium/webdriver/support/select.rb +293 -0
  115. data/ruby.iml +13 -0
  116. data/spec/integration/selenium/client/api/backward_compatible_api_spec.rb +22 -0
  117. data/spec/integration/selenium/client/api/browser_xpath_library_spec.rb +17 -0
  118. data/spec/integration/selenium/client/api/click_spec.rb +39 -0
  119. data/spec/integration/selenium/client/api/cookie_spec.rb +39 -0
  120. data/spec/integration/selenium/client/api/element_spec.rb +14 -0
  121. data/spec/integration/selenium/client/api/highlight_located_element_spec.rb +19 -0
  122. data/spec/integration/selenium/client/api/retrieve_last_remote_control_logs_spec.rb +33 -0
  123. data/spec/integration/selenium/client/api/screenshot_spec.rb +31 -0
  124. data/spec/integration/selenium/client/api/select_window_spec.rb +46 -0
  125. data/spec/integration/selenium/client/api/start_stop_spec.rb +9 -0
  126. data/spec/integration/selenium/client/api/wait_for_ajax_spec.rb +27 -0
  127. data/spec/integration/selenium/client/api/wait_for_element_spec.rb +56 -0
  128. data/spec/integration/selenium/client/api/wait_for_field_value_spec.rb +52 -0
  129. data/spec/integration/selenium/client/api/wait_for_text_spec.rb +98 -0
  130. data/spec/integration/selenium/client/api/webdriver_backed_spec.rb +21 -0
  131. data/spec/integration/selenium/client/sample-app/public/jquery-1.3.2.js +4376 -0
  132. data/spec/integration/selenium/client/sample-app/public/jquery.html +55 -0
  133. data/spec/integration/selenium/client/sample-app/public/prototype-1.6.0.3.js +4320 -0
  134. data/spec/integration/selenium/client/sample-app/public/prototype.html +59 -0
  135. data/spec/integration/selenium/client/sample-app/sample_app.rb +32 -0
  136. data/spec/integration/selenium/client/spec_helper.rb +139 -0
  137. data/spec/integration/selenium/webdriver/app_cache_spec.rb +47 -0
  138. data/spec/integration/selenium/webdriver/browser_connection_spec.rb +20 -0
  139. data/spec/integration/selenium/webdriver/chrome/driver_spec.rb +28 -0
  140. data/spec/integration/selenium/webdriver/chrome/profile_spec.rb +63 -0
  141. data/spec/integration/selenium/webdriver/driver_spec.rb +266 -0
  142. data/spec/integration/selenium/webdriver/element_spec.rb +191 -0
  143. data/spec/integration/selenium/webdriver/error_spec.rb +30 -0
  144. data/spec/integration/selenium/webdriver/firefox/driver_spec.rb +21 -0
  145. data/spec/integration/selenium/webdriver/firefox/profile_spec.rb +141 -0
  146. data/spec/integration/selenium/webdriver/keyboard_spec.rb +57 -0
  147. data/spec/integration/selenium/webdriver/location_spec.rb +29 -0
  148. data/spec/integration/selenium/webdriver/mouse_spec.rb +57 -0
  149. data/spec/integration/selenium/webdriver/navigation_spec.rb +46 -0
  150. data/spec/integration/selenium/webdriver/opera/driver_spec.rb +47 -0
  151. data/spec/integration/selenium/webdriver/options_spec.rb +77 -0
  152. data/spec/integration/selenium/webdriver/remote/driver_spec.rb +19 -0
  153. data/spec/integration/selenium/webdriver/remote/element_spec.rb +26 -0
  154. data/spec/integration/selenium/webdriver/spec_helper.rb +36 -0
  155. data/spec/integration/selenium/webdriver/spec_support.rb +12 -0
  156. data/spec/integration/selenium/webdriver/spec_support/guards.rb +110 -0
  157. data/spec/integration/selenium/webdriver/spec_support/helpers.rb +51 -0
  158. data/spec/integration/selenium/webdriver/spec_support/rack_server.rb +123 -0
  159. data/spec/integration/selenium/webdriver/spec_support/test_environment.rb +239 -0
  160. data/spec/integration/selenium/webdriver/sql_database_spec.rb +59 -0
  161. data/spec/integration/selenium/webdriver/storage_spec.rb +96 -0
  162. data/spec/integration/selenium/webdriver/target_locator_spec.rb +186 -0
  163. data/spec/integration/selenium/webdriver/timeout_spec.rb +69 -0
  164. data/spec/integration/selenium/webdriver/touch_spec.rb +176 -0
  165. data/spec/integration/selenium/webdriver/window_spec.rb +70 -0
  166. data/spec/integration/selenium/webdriver/zipper_spec.rb +66 -0
  167. data/spec/unit/selenium/client/base_spec.rb +239 -0
  168. data/spec/unit/selenium/client/extensions_spec.rb +174 -0
  169. data/spec/unit/selenium/client/idiomatic_spec.rb +500 -0
  170. data/spec/unit/selenium/client/javascript_expression_builder_spec.rb +79 -0
  171. data/spec/unit/selenium/client/javascript_frameworks/jquery_spec.rb +10 -0
  172. data/spec/unit/selenium/client/javascript_frameworks/prototype_spec.rb +10 -0
  173. data/spec/unit/selenium/client/protocol_spec.rb +124 -0
  174. data/spec/unit/selenium/client/selenium_helper_spec.rb +56 -0
  175. data/spec/unit/selenium/client/spec_helper.rb +24 -0
  176. data/spec/unit/selenium/rake/task_spec.rb +79 -0
  177. data/spec/unit/selenium/server_spec.rb +150 -0
  178. data/spec/unit/selenium/webdriver/action_builder_spec.rb +97 -0
  179. data/spec/unit/selenium/webdriver/android/bridge_spec.rb +43 -0
  180. data/spec/unit/selenium/webdriver/chrome/bridge_spec.rb +137 -0
  181. data/spec/unit/selenium/webdriver/chrome/profile_spec.rb +57 -0
  182. data/spec/unit/selenium/webdriver/chrome/service_spec.rb +44 -0
  183. data/spec/unit/selenium/webdriver/error_spec.rb +41 -0
  184. data/spec/unit/selenium/webdriver/firefox/bridge_spec.rb +47 -0
  185. data/spec/unit/selenium/webdriver/ie/bridge_spec.rb +91 -0
  186. data/spec/unit/selenium/webdriver/iphone/bridge_spec.rb +42 -0
  187. data/spec/unit/selenium/webdriver/log_entry_spec.rb +11 -0
  188. data/spec/unit/selenium/webdriver/opera/bridge_spec.rb +44 -0
  189. data/spec/unit/selenium/webdriver/phantomjs/bridge_spec.rb +55 -0
  190. data/spec/unit/selenium/webdriver/proxy_spec.rb +106 -0
  191. data/spec/unit/selenium/webdriver/remote/bridge_spec.rb +16 -0
  192. data/spec/unit/selenium/webdriver/remote/capabilities_spec.rb +115 -0
  193. data/spec/unit/selenium/webdriver/remote/http/common_spec.rb +24 -0
  194. data/spec/unit/selenium/webdriver/remote/http/default_spec.rb +124 -0
  195. data/spec/unit/selenium/webdriver/search_context_spec.rb +61 -0
  196. data/spec/unit/selenium/webdriver/socket_poller_spec.rb +68 -0
  197. data/spec/unit/selenium/webdriver/spec_helper.rb +27 -0
  198. data/spec/unit/selenium/webdriver/support/color_spec.rb +119 -0
  199. data/spec/unit/selenium/webdriver/support/event_firing_spec.rb +111 -0
  200. data/spec/unit/selenium/webdriver/support/select_spec.rb +290 -0
  201. data/spec/unit/selenium/webdriver/wait_spec.rb +49 -0
  202. metadata +370 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 35513f3870c83118e2e34b8e0af45013a067ec18
4
+ data.tar.gz: 83537d3b3ff351317c4e8cbae0c726ecc53e4c36
5
+ SHA512:
6
+ metadata.gz: c73a3b6d49a42d616a28d8cfd86ff9a1d0222f5b719cd107279ca3088fd9be122f88d16ac49181abab890a4993ca9c19ef142abc3a5b14d51e0a3ace03c0b8fa
7
+ data.tar.gz: 593c5cfa2bf44eb941b54108928c7a4c51b324aec0449d2f8ac972d3f541e6b0e5a286b7560ede52d494e858c54be5d90211748b756709d795b1c8d5eb154dd5
data/CHANGES ADDED
@@ -0,0 +1,791 @@
1
+ 2.38.0 (???)
2
+ ============
3
+
4
+ * Enforce required ruby version in gemspec, not just through rubyzip.
5
+ * Expose the logging API (beta, subject to change) in the Ruby client: driver.manage.logs #=> Selenium::WebDriver::Logs
6
+
7
+
8
+ 2.37.0 (2013-10-18)
9
+ ===================
10
+
11
+ * As of this version, selenium-webdriver no longer supports Ruby < 1.9.2
12
+ * Depend on rubyzip ~> 1.0.0
13
+ * Added SOCKS proxy support
14
+ * Fixed support for SVG documents in the atoms.
15
+ * Fixed computing an element's container dimensions to account for the scrollbar size when scrolling
16
+ * Added Capabilities.htmlunitwithjs
17
+
18
+ Chrome:
19
+ * Pass through the prefs option as a Chrome capability (#5929).
20
+ Firefox:
21
+ * Updated Firefox native event components to support Firefox 24.
22
+ * New elementScrollBehavior capability.
23
+ * Fixed getLocation to work on scrolled pages.
24
+ * Fixed autoscrolling for elements located in frames.
25
+ * Fixed drag-n-drop for elements in frames with native events
26
+ IE:
27
+ * Use native events by default, also for remote IE (#4695)
28
+ Safari:
29
+ * Enable screenshots and input devices in the client.
30
+
31
+ 2.35.1 (2013-08-26)
32
+ ===================
33
+
34
+ * Depend on rubyzip < 1.0.0
35
+
36
+ 2.35.0 (2013-08-14)
37
+ ===================
38
+
39
+ Firefox:
40
+ * Updated Firefox native event components to support Firefox 23.
41
+
42
+ 2.34.0 (2013-08-06)
43
+ ===================
44
+
45
+ Remote:
46
+ * Add `Driver#remote_status` (remote driver only) (#5669)
47
+ Firefox:
48
+ * Updated Firefox native event components to support Firefox 22.
49
+ iPhone:
50
+ * The driver is now deprecated (see http://appium.io/ or http://ios-driver.github.io/ios-driver/ for a replacement)
51
+ Various:
52
+ * Updated our copy of the Closure compiler and library to the most
53
+ recent versions.
54
+ * Updated the atoms library, including support for MS pointer events
55
+ and refinements to element visibility tests.
56
+ * Update synthesized mouse implementation. Mouse moves are
57
+ implemented using nsIDOMWindowUtils.
58
+ * Added support for the HTML5 "hidden" attribute. If an element, or
59
+ ancestor, has hidden attribute make, it is not shown.
60
+
61
+ 2.33.0 (2013-05-26)
62
+ ===================
63
+
64
+ Remote:
65
+ * Support rotating devices, such as iPhone & iPad in simulator and Android browser in emulator
66
+ * Support for interacting with touch screen devices, such as iPhone & iPad in simulator and Android browser in emulator
67
+ * Improve error messages for invalid wire protocol responses
68
+ Chrome:
69
+ * Accept :service_log_path for Chrome. (#3475)
70
+ IE:
71
+ * IE >=9 versions triggerMouseEvent like other browsers (#2218).
72
+ Various:
73
+ * Element#text ignores elements in <head>
74
+
75
+
76
+ 2.32.1 (2013-04-11)
77
+ ===================
78
+
79
+ Safari:
80
+ * Fix typo when encoding the Safari server redirect URL (#5472)
81
+
82
+ 2.32.0 (2013-04-09)
83
+ ===================
84
+
85
+ Safari:
86
+ * The Safari extension is now packaged with the gem and automatically installed (#5322)
87
+ * Improved detection of the binary location on 64-bit windows (#5273)
88
+ Opera:
89
+ * Allow passing :desired_capabailities (#5279)
90
+ Firefox:
91
+ * This release supports versions 10esr, 17esr, 19, 20.
92
+ * Improved SVG support
93
+ Other:
94
+ * Allow #click_and_hold without target (#5410).
95
+ * Remove assumptions about returned capabilities (for ios-driver)
96
+
97
+ 2.31.0 (2013-03-02)
98
+ ===================
99
+
100
+ Remote:
101
+ * Expose session_id on the remote driver when used directly (#5240).
102
+ Firefox:
103
+ * Native events in Firefox 19
104
+ Opera:
105
+ * Treat UNSPECIFIED proxy type as a nil proxy (#5081).
106
+ Other:
107
+ * Add ability to pass :desired_capabilities to all the Ruby drivers, not just for :remote.
108
+ Direct arguments take presendence. (#5078, see also https://github.com/SeleniumHQ/selenium/pull/8, https://github.com/SeleniumHQ/selenium/pull/11)
109
+
110
+ 2.30.0 (2013-02-20)
111
+ ===================
112
+
113
+ Firefox:
114
+ * Firefox 19 support (for synthesized events)
115
+ Remote:
116
+ * Pass along firefox_binary correctly (#5152)
117
+ Safari:
118
+ * Don't overwrite Driver#browser
119
+ Other
120
+ * Alert#text should raise on closed alert.
121
+
122
+ 2.29.0 (2013-01-21)
123
+ ===================
124
+
125
+ Firefox:
126
+ * Firefox 18 support (for native events).
127
+ IE:
128
+ * New 'requireWindowFocus' desired capability.
129
+ * IE view port calculation take scroll bars into account (#3602)
130
+ Safari:
131
+ * Replace 'libwebsocket' with 'websocket' gem. This should ensure
132
+ support with recent Safari.
133
+ Other:
134
+ * Fix Cygwin issue in PortProber/Firefox::Bianry (#4963)
135
+
136
+ 2.27.2 (2012-12-11)
137
+ ===================
138
+
139
+ Firefox:
140
+ * Fix for native events in v17 (packaging mistake)
141
+
142
+ 2.27.1 (2012-12-07)
143
+ ===================
144
+
145
+ Firefox:
146
+ * Fix "g[b] is not an object" error when passing null to execute_script.
147
+
148
+ 2.27.0 (2012-12-06)
149
+ ===================
150
+
151
+ Firefox:
152
+ * Support for Firefox 17.
153
+ IE:
154
+ * Path to the server executable can be specified (S::W::IE.path=)
155
+ Other:
156
+ * Added :phantomjs driver
157
+
158
+ 2.26.0 (2012-11-02)
159
+ ===================
160
+
161
+ Firefox:
162
+ * Added support for native events for Firefox 15 and 16.
163
+ * Modified FirefoxDriver to use atoms to switch between frames.
164
+ * FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox.
165
+ * FIXED: 4375: Executing javascript hangs Firefox.
166
+ * FIXED: 4165: WebDriver fails on a machine with no IP address.
167
+ Safari:
168
+ * Fixed SafariDriver to allow calling .quit() consecutively without error.
169
+ * FIXED: 4676: Unable to fire javascript events into SVG's.
170
+ * FIXED: 3969: SafariDriver should auto-dismiss alerts.
171
+ IE:
172
+ * FIXED: 4535: Hover still does not work perfectly in IE.
173
+ * FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box.
174
+
175
+ 2.25.0 (2012-07-19)
176
+ ===================
177
+
178
+ * Respect no_proxy / NO_PROXY env vars (#4007).
179
+ * Improve error message if a configured proxy refuses the connection.
180
+ * Ignored exception can be configured on the Wait class.
181
+ * Add Selenium::WebDriver::Support::Color class.
182
+ * Ignore Errno::ENETUNREACH when trying to detect our local IP (#4165).
183
+ * Ignore Errno::EADDRNOTAVAIL in PortProber (#3987).
184
+ * Firefox:
185
+ * Enumerate through client rects until finding one with non-zero dimensions when clicking.
186
+ * Updated supported versions of Firefox to 17.
187
+ * Allow windows to be resized from a frame (#3897).
188
+ * Fix an issue where a call to submit could hang the driver.
189
+ * IE:
190
+ * Ability to configure logging through the :log_file and :log_level options.
191
+ * Increasing stability of file upload dialog handling (#3858)
192
+ * Better handling of overflow edge cases when determining element visibility.
193
+
194
+ 2.24.0 (2012-06-19)
195
+ ===================
196
+
197
+ * bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584).
198
+ * CSS selectors now support compound selectors.
199
+ * IE:
200
+ * Failure to click on an element in the IE Driver will yield a more meaningful error.
201
+ * Crash on IE8 when S_FALSE is returned from get_Document (#4064)
202
+ * DLLs are no longer bundled with the gem, users must use the standalone server from now on.
203
+ * Firefox:
204
+ * Support for Firefox 13
205
+ * Ability to pass :proxy directly as Firefox option (no Profile needed).
206
+
207
+ 2.22.2 (2012-06-05)
208
+ ===================
209
+
210
+ * Improve method for determining the local IP (#3987).
211
+
212
+ 2.22.1 (2012-06-01)
213
+ ===================
214
+
215
+ * Fix for 1.8.7 behaviour of Socket.getaddrinfo.
216
+ * Automatically reap Firefox profile on exit, not just in #quit.
217
+
218
+ 2.22.0 (2012-05-29)
219
+ ===================
220
+
221
+ * Fix conflict with ActiveSupport's Object#load (#3819)
222
+ * IE:
223
+ * Default to standalone server executable, fall back to bundled DLLs.
224
+ * The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
225
+ * Firefox:
226
+ * Native events for Firefox 12.
227
+ * Native events retained for Firefox 3.x, 10 and 11.
228
+ * Fix for typing in Firefox 12
229
+ * Fix for typing on XHTML pages (#3647)
230
+ * Fix for maximizing windows when switched to a frame (#3758)
231
+ * Handle alerts from nested iframes (#3825)
232
+ * Remote:
233
+ * Honor HTTP_PROXY env vars (#3838).
234
+ * Element#attribute returns nil if a boolean attribute is not present.
235
+ * NoSuchWindowError will be thrown if the currently selected window is closed and another command is sent.
236
+ * Safari:
237
+ * support for frame switching, snapshot taking, execute script
238
+ * message protocol changed, not backwards compatible with 2.21.
239
+ * Style attributes are no longer lower-cased by default (#1089).
240
+ * Make sure the Ruby client kills Firefox even when the RPC fails.
241
+ * Make sure the Ruby client checks all network interfaces when finding free ports.
242
+
243
+
244
+ 2.21.2 (2012-04-18)
245
+ ===================
246
+
247
+ * Check MultiJson.respond_to?, depend on ~> 1.0
248
+
249
+ 2.21.1 (2012-04-16)
250
+ ===================
251
+
252
+ * Set multi_json dependency to < 1.3 to avoid deprecation warnings.
253
+
254
+ 2.21.0 (2012-04-11)
255
+ ===================
256
+
257
+ * Add Selenium::WebDriver::Window#maximize (#3489)
258
+ * Safari:
259
+ * New driver! See http://code.google.com/p/selenium/wiki/SafariDriver.
260
+ * Firefox:
261
+ * Significant stability improvements.
262
+ * Native events support for Firefox 11
263
+ * Dropped native events support for Firefox 4-9
264
+ * Window maximize implementation.
265
+ * IE:
266
+ * Ignore invisible dialogs (#3360).
267
+ * Window maximize implementation.
268
+ * Android:
269
+ * Accept SSL certificates (#3504).
270
+
271
+ 2.20.0 (2012-02-28)
272
+ ===================
273
+
274
+ * Loosen the multi_json and ffi dependencies (#3446)
275
+ * Firefox:
276
+ * Introduce a timeout for page loads. This needs to be used in
277
+ conjunction with the unstable page load detection. Exposed as
278
+ Timeouts#page_load=
279
+ * Scroll containing elements, not just windows (#3391).
280
+ * Element#{style => css_value}, with an alias for backwards compatibility.
281
+ * Atoms:
282
+ * Submit a form when the enter button is pressed in its input
283
+ element.
284
+ * Add a "mouse pixel scroll" event to the atoms events module.
285
+ * Adding a public "mouseOver" action and a little internal
286
+ refactoring around the mouseOver functionality.
287
+ * Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds.
288
+
289
+ 2.19.0 (2012-02-08)
290
+ ===================
291
+
292
+ * RC client supports server-side WebDriver-backed Selenium.
293
+ * Touch APIs implemented in the Ruby client (Android only)
294
+ * Firefox:
295
+ * Fix deserialization of user.js in Firefox::Profile
296
+ * Native events implemented for Firefox 10.
297
+ * Renamed the experimental "fast" page loaded strategy "unstable"
298
+ and disable queuing of commands when it's enabled.
299
+ * Disabled native events for Firefox 8 as it's deprecated by Mozilla.
300
+ * Fix for exceptions thrown when an alert occurs during script execution.
301
+ * Chrome:
302
+ * New download link for the server component:
303
+ http://code.google.com/p/chromedriver/downloads/list
304
+
305
+ 2.18.0 (2012-01-27)
306
+ ===================
307
+
308
+ * Fix for getting value attribute of option elements. (#3169)
309
+ * Firefox and IE:
310
+ * Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions.
311
+ * Firefox:
312
+ * Better handling of getText invocations on SVG elements.
313
+ * Fix for Element#click in Firefox 4. (#3253)
314
+ * Fixed bug when deserializing user.js in Firefox::Profile.
315
+ * Default profile preferences now read from shared JSON blob.
316
+ * Android and iPhone:
317
+ * Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation)
318
+ * Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage)
319
+ * iPhone:
320
+ * Server now supports frame switching (for frames in the same domain).
321
+
322
+ 2.17.0 (2012-01-16)
323
+ ===================
324
+
325
+ * Firefox:
326
+ * Fix excessive unwrapping when switching windows.
327
+ * Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile.
328
+ * Support up to version 12 with synthesized events.
329
+ * Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144)
330
+ * Chrome:
331
+ * Now accepts a :url option, pointing to an already running Chrome server.
332
+ * Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance).
333
+ * iPhone:
334
+ * iWebDriver will auto-play HTML5 video (#3152)
335
+ * Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169)
336
+
337
+ 2.16.0 (2012-01-04)
338
+ ===================
339
+
340
+ * Firefox:
341
+ * Native events support for Firefox 9
342
+ * Allow apps to use offline storage by default
343
+ * Fix excessive unwrapping when executing mouseMove
344
+ * Click in the middle, rather than the top-left of elements (#3034, #2700)
345
+ * IE:
346
+ * Raise StaleElementReferenceError when interacting with elements outside the currently focused frame
347
+ * Handle frames and iframes in showModalDialog windows
348
+ * Chrome:
349
+ * Improve client handling of invalid error responses
350
+ * iPhone:
351
+ * Updated to latest CocoaHTTPServer
352
+ * Remote:
353
+ * Improve performance of Element#== by only making an RPC when necessary.
354
+ * Disallow caching of GET requests
355
+ * Various:
356
+ * Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key
357
+ * Improve docs for Server, ActionBuilder and Window
358
+ * Update to latest Sizzle (used for :css selectors in older browsers)
359
+
360
+ 2.15.0 (2011-12-08)
361
+ ===================
362
+
363
+ * Firefox:
364
+ * Now supports up to Firefox 11 (for syntesized events)
365
+ * Implicit waits now change how long we wait for alerts. This
366
+ functionality will change in 2.16
367
+ * Fix scrolling issue (#2700)
368
+ * IE:
369
+ * Fix issue with getWindowHandles() and showModalDialog() (#1828)
370
+ * Add support for the window sizing and positioning API
371
+ * Make Platform.bitsize use the correct constant from FFI
372
+ * WebDriver internals:
373
+ * Atoms code contribution from Google
374
+ * Closure updated
375
+
376
+
377
+ 2.14.0 (2011-11-29)
378
+ ===================
379
+
380
+ * Add Selenium::WebDriver::Support::Select class to ease working with select lists.
381
+ * Add Capabilities.ipad and Capabilities.iphone (#2895)
382
+ * Replace json_pure dependency with multi_json. (#2901)
383
+ * Don't leave sockets hanging in SYN_SENT state while polling.
384
+ * Allow selecting option elements even if the enclosing select has zero opacity.
385
+ * Exception renames (old names aliased and will still work in rescues):
386
+ * ObsoleteElementError -> StaleElementReferenceError
387
+ * UnhandledError -> UnknownError
388
+ * UnexpectedJavascriptError -> JavascriptError
389
+ * NoAlertOpenError -> NoAlertPresentError
390
+ * ElementNotDisplayedError -> ElementNotVisibleError
391
+ * Firefox:
392
+ * Fixed issue with scrolling on small viewports with native events.
393
+ * Fix CSS selector support in Firefox 3.0
394
+ * IE:
395
+ * Implement the window control API
396
+
397
+ 2.13.0 (2011-11-18)
398
+ ===================
399
+
400
+ * Firefox:
401
+ * Recovering from null window references in the Firefox driver (#1438)
402
+
403
+ 2.12.2 (2011-11-13)
404
+ ===================
405
+
406
+ * Firefox
407
+ * Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
408
+ * Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
409
+
410
+ 2.12.1 (2011-11-11)
411
+ ===================
412
+
413
+ * Fix regression when typing into contenteditable elements.
414
+
415
+ 2.12.0 (2011-11-10)
416
+ ===================
417
+
418
+ * Loosened the ffi dependency now that Windows support is back (#2755).
419
+ * Fix shutdown issues when using net-http-persistent against remote servers.
420
+ * Added beta window control API (see Selenium::WebDriver::Options#window).
421
+ * Firefox
422
+ * Support for Firefox 8.
423
+ * Better reporting of page size when attempting to move out of bounds.
424
+ * Beta implementation of window control.
425
+
426
+ 2.11.0
427
+ ======
428
+
429
+ (release skipped since it included only server-side changes)
430
+
431
+ 2.10.0 (2011-10-27)
432
+ ===================
433
+
434
+ * Improve native keyboard emulation on Windows.
435
+ * Allow commas in CSS selectors (#2301)
436
+ * Firefox:
437
+ * Fix intermittent error when finding elements by XPath (#2099)
438
+ * Fix detection of maximum page size (#2700)
439
+ * Avoid extension selection dialog (extensions.autoDisableScopes)
440
+ * Fix invalid wire responses from the synthetic mouse (#2695)
441
+ * Don't scroll unnecessarily (#1771).
442
+ * IE:
443
+ * Improve handling of #clear on disabled or readonly elements.
444
+
445
+ 2.9.1 (2011-10-24)
446
+ ==================
447
+
448
+ * Workaround for invalid error responses (#2695).
449
+
450
+ 2.9.0 (2011-10-21)
451
+ ==================
452
+
453
+ * Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles)
454
+ * New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError
455
+ * Implemented Chrome::Profile#add_extension
456
+ * Better respect for preformatted text in Element#text
457
+ * Reduced scrolling during tests for IE and Firefox.
458
+ * Firefox:
459
+ * Support for experimental page load detection.
460
+ * IE:
461
+ * Better detection of where to click on links (#2675).
462
+ * Improve handling of modal dialogs (showModalDialog).
463
+
464
+ 2.8.0 (2011-10-06)
465
+ ==================
466
+
467
+ * Firefox
468
+ - Avoid telemetry prompt on Firefox 7
469
+ - Allow parallel execution with native events on Linux (#1326)
470
+ - Added native events support for Firefox 7 on Linux/Windows
471
+ - Improve search for libX11 for native events on Linux (#384)
472
+ - Fix double click with native events
473
+ * Chrome
474
+ - Fail fast if the chromedriver server is not executable.
475
+ * IE
476
+ - Fix find_element bug (#2563)
477
+
478
+
479
+ 2.7.0 (2011-09-23)
480
+ ==================
481
+
482
+ * Firefox
483
+ - no longer types in the URL bar (#2487)
484
+ - fixed native events click() issue when element is out of view
485
+ - double click + get no longer hangs firefox (#2456)
486
+ - make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
487
+ * IE
488
+ - fix event firing issue (#2516)
489
+ * Opera
490
+ - don't start the remote service if the driver is passed bad arguments
491
+
492
+ 2.6.0 (2011-09-13)
493
+ ==================
494
+
495
+ * Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows.
496
+ * Use correct default URL for the Android driver.
497
+ * Profile zipping now follows symlinks (#2416).
498
+ * Firefox
499
+ - Disable malware check
500
+ - Various #click improvements
501
+ - Don't scroll if element is already in view
502
+ * IE:
503
+ - improve scrolling to elements with 'overflow: scroll'
504
+ - properly trigger jQuery change events (#2207)
505
+ - improve handling of nested modal dialogs
506
+ * Opera:
507
+ - capabilities exposed as options to Selenium::WebDriver.for
508
+ * Various iPhone driver fixes (e.g. #1396)
509
+
510
+ 2.5.0 (2011-08-23)
511
+ ==================
512
+
513
+ * IE: support for double click and fix for clicks close to edge of window.
514
+ * Fix for clicking links that overflow into multiple lines (#1020).
515
+ * Correct initial cursor position when typing into text fields with Firefox 6.
516
+ * Native events support for Firefox 6 on Windows and Linux.
517
+ * Fix bug in Android::Bridge when no :http_client option was passed.
518
+ * Set chrome.detach to tell chromedriver to leave browser running on exit.
519
+
520
+ 2.4.0 (2011-08-11)
521
+ ==================
522
+
523
+ * Firefox 6 support.
524
+ * Raise in switch_to.alert when no alert is present.
525
+ * Improved handling of non-breaking spaces for Element#text.
526
+
527
+ 2.3.2 (2011-08-01)
528
+ ==================
529
+
530
+ * Re-releasing since 2.3.1 was a buggy build.
531
+
532
+ 2.3.1 (2011-08-01)
533
+ ==================
534
+
535
+ * Fix bug where Firefox would hang if Firefox::Profile#log_file= was set.
536
+
537
+ 2.3.0 (2011-08-01)
538
+ ==================
539
+
540
+ * Add Selenium::WebDriver::Chrome::Profile
541
+ * Better detection of clickable areas in Firefox.
542
+ * Merge of Google-contributed code into the underlying Atoms.
543
+ * IE click issue fixed (#1650)
544
+ * No longer raise in Element#inspect if the element is obsolete.
545
+
546
+
547
+ 2.2.0 (2011-07-26)
548
+ ==================
549
+
550
+ * Add ability to listen for WebDriver events
551
+ * Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425)
552
+ * Various atoms fixes
553
+ * Element equality now works properly with the remote server (#251).
554
+
555
+ 2.1.0 (2011-07-18)
556
+ ==================
557
+
558
+ * Various improvments to the IE driver (#2049, #1870)
559
+ * Atoms fixes (#1776, #1972).
560
+ * Synthetic mouse clicks do not propagate errors in onmouseover.
561
+
562
+ 2.0.1 (2011-07-11)
563
+ ==================
564
+
565
+ * Make sure at_exit hooks aren't inherited by child processes.
566
+
567
+ 2.0.0 (2011-07-08)
568
+ ==================
569
+
570
+ * Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}.
571
+ * Add ability to pass :verbose, :native_events to the Chrome driver.
572
+ * Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events.
573
+ * Added Selenium::WebDriver::Opera (requires the remote server).
574
+ * Fix for locating Firefox on 64-bit Windows when missing from the registry.
575
+ * Fix native events on Firefox 4, 5.
576
+
577
+ 0.2.2 (2011-06-22)
578
+ ==================
579
+
580
+ * Deprecate Element#{toggle,select,drag_and_drop_*}
581
+ * Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
582
+ * Fix argument names in Mouse#move_to and Mouse#move_by.
583
+ * Support Firefox 5
584
+ * Chrome and Firefox drivers now includes the HasInputDevices module.
585
+ * Selenium::Rake::ServerTask now works with Rake 0.9.
586
+
587
+ 0.2.1 (2011-06-01)
588
+ ==================
589
+
590
+ * Allow passing custom command line switches to Chrome (requires today's release of the Chrome server)
591
+ * Avoid mutating arguments to find_element (issue #1273).
592
+ * Avoid conflicts when SUT modifies Array.prototype
593
+ * Allow setting arbitrary capabilities by adding Capabilities#[]=
594
+ * The Chrome driver is extended with TakesScreenshot.
595
+ * IE driver detects bad protected mode settings.
596
+ * Firefox driver no longer considers opacity when determining visibility.
597
+ * Fix for ActionBuilder#move_by.
598
+ * Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611).
599
+ * Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller).
600
+ * Various internal driver improvements.
601
+
602
+ 0.2.0 (2011-04-22)
603
+ ==================
604
+
605
+ * Update Ruby bindings to use the rewritten Chrome driver (see http://code.google.com/p/selenium/wiki/ChromeDriver).
606
+ * Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead).
607
+ * Change the default timeout for Wait instances to 5 seconds.
608
+ * Fix bug where locators would fail if Object.prototype had been modified.
609
+ * Various IE fixes
610
+ - Issues: #698, #1444
611
+ - Improved handling of showModalDialog()
612
+ - Full-size screenshots
613
+ * Allow users to override the dom.max_script_run_time preference in Firefox.
614
+ * Removed DesiredCapabilities.safari, which was never supported anyway.
615
+ * Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath.
616
+ * Print warnings for deprecated constants in the RC client:
617
+ - Selenium::SeleniumDriver => Selenium::Client::Driver
618
+ - Selenium::CommandError => Selenium::Client::CommandError
619
+ * Removed top-level constants:
620
+ - SeleniumHelper (available as Selenium::Client::SeleniumHelper)
621
+ - SeleniumCommandError (available as Selenium::Client::CommandError)
622
+
623
+ 0.1.4 (2011-03-21)
624
+ ==================
625
+
626
+ * Support for Firefox 4.
627
+ * Search PATH for Firefox / Chrome on OS X as well.
628
+ * Bump dependencies for ffi and childprocess (#1356).
629
+ * Find module renamed to SearchContext
630
+ * Deprecated methods Driver#hover and Options#{speed,speed=} removed.
631
+ * Improve IE driver stability, IE9 support
632
+ * Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers.
633
+ * Added Driver#execute_async_script
634
+ * Some WebDriver exception classes have been renamed to match its Java equivalents:
635
+ ElementNotEnabledError -> InvalidElementStateError
636
+ UnknownScriptResultError -> XpathLookupError
637
+ * Fix bug where Element#disabled? would alternate between true/false (r11438)
638
+
639
+ 0.1.3 (2011-02-14)
640
+ ==================
641
+
642
+ * Several crashing bugs fixed in the IE driver.
643
+ * Alert API available through the remote driver.
644
+ * Driver#refresh fixed in the IE driver.
645
+ * Fixed paths for IE DLLs on Cygwin.
646
+ * Screenshot support in the IE and Remote drivers.
647
+ * Fix #1152 by avoiding IPv6 loopback.
648
+ * Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment).
649
+ * Automation atoms now used extensively in the IE driver.
650
+ * Firefox::Bridge is now easier to extend (i.e. with a custom launcher).
651
+ * Add S::W::Remote::Http::Persistent (currently only usable with the remote server).
652
+ * IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients.
653
+ * :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes.
654
+ * IE driver now supports launching multiple instances of the browser.
655
+ * Remove some Ruby warnings (uninitialized ivars, URI.escape).
656
+
657
+
658
+ 0.1.2 (2010-12-22)
659
+ ==================
660
+
661
+ * Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968)
662
+ * IE driver rewrite landed.
663
+ * Initial support for alerts/prompts (in Firefox).
664
+ * Cygwin support.
665
+ * Driver#execute_script now properly wraps elements inside Hashes.
666
+ * Various fixes for Firefox 4.
667
+
668
+ 0.1.1 (2010-11-29)
669
+ ==================
670
+
671
+ * Fix for Chrome.path=
672
+ * Remote drivers always add Content-Length for POST requests (thanks joshuachisholm)
673
+ * Fix for JS execution bug in the IE driver
674
+ * Add ability to specify a proxy on the Http::Default client.
675
+ * The remote drivers' :http_client argument now take a configured instance.
676
+
677
+ 0.1.0 (2010-11-11)
678
+ ===================
679
+
680
+ * selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client").
681
+ * Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver.
682
+ * Tweaked Firefox profile preferences, improve logging, disabled crash reporter.
683
+ * Reap Firefox profiles on close, not just on exit.
684
+ * Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar.
685
+ * Various Firefox driver improvements (GC race conditions ++).
686
+ * IE::Bridge#initialize now takes an options hash like the other bridges.
687
+ * Added basic iPhone and Android driver classes.
688
+ * Firefox driver now works on FreeBSD.
689
+
690
+
691
+ 0.0.29 (2010-10-09)
692
+ ===================
693
+
694
+ * Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree).
695
+ * Element#attribute(attribute) now returns "false" instead of nil.
696
+ * Firefox::Profile instances can now be reused for multiple drivers.
697
+ * Redirect Firefox console logs to a file with Firefox::Profile.log_file=
698
+ * Added a simple Wait class, based on WebDriverWait in Java.
699
+ * Search PATH for Firefox executable on Windows also.
700
+ * Added Capabilities.android
701
+ * Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string)
702
+ * CSS selector support in the remote driver
703
+ * CSS selector support for IE (using querySelector when available, Sizzle elsewhere)
704
+ * CSS selector support for older versions of Firefox (through Sizzle)
705
+ * Cookie expiration dates are now handled correctly (#730)
706
+ * Make Driver#bridge private, since this seems to be a common cause of confusion.
707
+ * Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/)
708
+ * User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path"
709
+ * Added "chromium" as a possible name for the Chrome binary (#769)
710
+ * Correctly set the HTTP client timeout (#768)
711
+ * switch_to.window with block now handles exceptions and non-local returns.
712
+ * switch_to.window with block returns the result of the block.
713
+ * Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess
714
+
715
+
716
+ 0.0.28 (2010-08-23)
717
+ ===================
718
+
719
+ * Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote).
720
+ * Include remote server backtrace in raised errors (if available).
721
+ * Chrome: Untrusted certificate support.
722
+ * IE: Fix NoMethodError when getElementAttribute returns nil.
723
+ * Driver#[] shorthand can take a locator hash, not just an id string.
724
+
725
+ 0.0.27 (2010-07-22)
726
+ ===================
727
+
728
+ * Fixes for Element#attribute on IE / Firefox
729
+
730
+ 0.0.26 (2010-07-19)
731
+ ===================
732
+
733
+ * Work around Curb issue: http://github.com/taf2/curb/issues/issue/40
734
+
735
+ 0.0.25 (2010-07-19)
736
+ ===================
737
+
738
+ * Prevent Firefox from launching in offline mode (issue #587).
739
+ * Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path=
740
+ * Add ability to install Firefox XPIs through Profile#add_extension.
741
+ * Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency.
742
+ * Remote client supports HTTPS (issue #613 - thanks kkaempf).
743
+ * Fix error message for TimeOutError in the IE driver (issue #602)
744
+ * Add ability to use Chrome's default profile.
745
+ * Fix for frame behaviour in Chrome (issue #273).
746
+ * Standard gem directory structure (issue #475).
747
+
748
+ 0.0.24 (2010-06-17)
749
+ ==================
750
+
751
+ * Fix issues with quitting Firefox/Chrome on Windows + MRI.
752
+
753
+
754
+ 0.0.23 (2010-06-15)
755
+ ===================
756
+
757
+ * Improved the HTTP clients:
758
+ - hopefully fix some occasional socket errors on Windows
759
+ - rescue error on driver.close() with curb
760
+
761
+ 0.0.22 (2010-06-11)
762
+ ===================
763
+
764
+ * Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests.
765
+ * Minor doc fix
766
+ * Add ability to set timeout for HTTP clients
767
+
768
+ 0.0.21 (2010-06-11)
769
+ ===================
770
+
771
+ * User can specify :http_client for the Firefox driver.
772
+ * Refactor HTTP client code
773
+ * Add Remote::Http::Curb as an alternative to the default (net/http) client.
774
+
775
+
776
+ 0.0.20 (2010-06-03)
777
+ ===================
778
+
779
+ * Fix bug where Firefox would hang on quit().
780
+
781
+ 0.0.19 (2010-05-31)
782
+ ===================
783
+
784
+ * Add a max redirect check to the remote driver
785
+ * Add Firefox::Profile#assume_untrusted_certificate_issuer=
786
+ * Add implicit waits (Selenium::WebDriver::Timeouts)
787
+ * at_exit hook to clean temporary profiles
788
+ * Fix for Errno::ECONNABORTED errors on Windows
789
+ * Fix issue where Firefox::Profile#secure_ssl= would have no effect
790
+ * Fix issue where locating elements by :css would fail in the Chrome driver.
791
+ * IE driver now works on 64-bit rubies.