selenium-webdriver 4.0.0.beta1 → 4.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/lib/selenium/{webdriver/edge/bridge.rb → devtools.rb} +8 -15
  3. data/lib/selenium/webdriver/atoms/findElements.js +77 -78
  4. data/lib/selenium/webdriver/atoms/getAttribute.js +64 -68
  5. data/lib/selenium/webdriver/atoms/isDisplayed.js +27 -27
  6. data/lib/selenium/webdriver/atoms/mutationListener.js +17 -0
  7. data/lib/selenium/webdriver/chrome.rb +1 -1
  8. data/lib/selenium/webdriver/chrome/driver.rb +12 -18
  9. data/lib/selenium/webdriver/chrome/service.rb +3 -1
  10. data/lib/selenium/webdriver/common.rb +1 -0
  11. data/lib/selenium/webdriver/common/driver.rb +20 -3
  12. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +23 -1
  13. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +4 -2
  14. data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +67 -0
  15. data/lib/selenium/webdriver/common/element.rb +41 -12
  16. data/lib/selenium/webdriver/common/interactions/interaction.rb +4 -1
  17. data/lib/selenium/webdriver/common/logger.rb +5 -2
  18. data/lib/selenium/webdriver/common/options.rb +42 -8
  19. data/lib/selenium/webdriver/common/proxy.rb +4 -1
  20. data/lib/selenium/webdriver/common/search_context.rb +4 -1
  21. data/lib/selenium/webdriver/common/service.rb +1 -0
  22. data/lib/selenium/webdriver/devtools.rb +34 -25
  23. data/lib/selenium/webdriver/devtools/{v87/console.rb → request.rb} +32 -34
  24. data/lib/selenium/webdriver/edge.rb +1 -1
  25. data/lib/selenium/webdriver/edge/driver.rb +2 -6
  26. data/lib/selenium/webdriver/firefox.rb +5 -1
  27. data/lib/selenium/webdriver/firefox/driver.rb +8 -15
  28. data/lib/selenium/webdriver/ie/driver.rb +1 -1
  29. data/lib/selenium/webdriver/ie/service.rb +3 -1
  30. data/lib/selenium/webdriver/remote/bridge.rb +24 -3
  31. data/lib/selenium/webdriver/remote/capabilities.rb +25 -15
  32. data/lib/selenium/webdriver/remote/driver.rb +6 -1
  33. data/lib/selenium/webdriver/remote/http/common.rb +0 -5
  34. data/lib/selenium/webdriver/remote/http/default.rb +5 -3
  35. data/lib/selenium/webdriver/safari.rb +1 -1
  36. data/lib/selenium/webdriver/safari/driver.rb +3 -7
  37. data/lib/selenium/webdriver/support/guards.rb +95 -0
  38. data/lib/selenium/webdriver/support/guards/guard.rb +89 -0
  39. data/lib/selenium/webdriver/{devtools/v87/system_info.rb → support/guards/guard_condition.rb} +24 -24
  40. data/lib/selenium/webdriver/support/select.rb +2 -2
  41. data/lib/selenium/webdriver/version.rb +1 -1
  42. metadata +15 -197
  43. data/CHANGES +0 -1825
  44. data/Gemfile +0 -4
  45. data/LICENSE +0 -202
  46. data/README.md +0 -34
  47. data/lib/selenium/webdriver/chrome/bridge.rb +0 -66
  48. data/lib/selenium/webdriver/devtools/v85/accessibility.rb +0 -64
  49. data/lib/selenium/webdriver/devtools/v85/animation.rb +0 -100
  50. data/lib/selenium/webdriver/devtools/v85/application_cache.rb +0 -66
  51. data/lib/selenium/webdriver/devtools/v85/audits.rb +0 -63
  52. data/lib/selenium/webdriver/devtools/v85/background_service.rb +0 -69
  53. data/lib/selenium/webdriver/devtools/v85/browser.rb +0 -125
  54. data/lib/selenium/webdriver/devtools/v85/cache_storage.rb +0 -75
  55. data/lib/selenium/webdriver/devtools/v85/cast.rb +0 -72
  56. data/lib/selenium/webdriver/devtools/v85/console.rb +0 -59
  57. data/lib/selenium/webdriver/devtools/v85/css.rb +0 -167
  58. data/lib/selenium/webdriver/devtools/v85/database.rb +0 -66
  59. data/lib/selenium/webdriver/devtools/v85/debugger.rb +0 -231
  60. data/lib/selenium/webdriver/devtools/v85/device_orientation.rb +0 -55
  61. data/lib/selenium/webdriver/devtools/v85/dom.rb +0 -322
  62. data/lib/selenium/webdriver/devtools/v85/dom_debugger.rb +0 -95
  63. data/lib/selenium/webdriver/devtools/v85/dom_snapshot.rb +0 -67
  64. data/lib/selenium/webdriver/devtools/v85/dom_storage.rb +0 -81
  65. data/lib/selenium/webdriver/devtools/v85/emulation.rb +0 -182
  66. data/lib/selenium/webdriver/devtools/v85/fetch.rb +0 -99
  67. data/lib/selenium/webdriver/devtools/v85/headless_experimental.rb +0 -63
  68. data/lib/selenium/webdriver/devtools/v85/heap_profiler.rb +0 -109
  69. data/lib/selenium/webdriver/devtools/v85/indexed_db.rb +0 -102
  70. data/lib/selenium/webdriver/devtools/v85/input.rb +0 -143
  71. data/lib/selenium/webdriver/devtools/v85/inspector.rb +0 -57
  72. data/lib/selenium/webdriver/devtools/v85/io.rb +0 -61
  73. data/lib/selenium/webdriver/devtools/v85/layer_tree.rb +0 -97
  74. data/lib/selenium/webdriver/devtools/v85/log.rb +0 -68
  75. data/lib/selenium/webdriver/devtools/v85/media.rb +0 -59
  76. data/lib/selenium/webdriver/devtools/v85/memory.rb +0 -88
  77. data/lib/selenium/webdriver/devtools/v85/network.rb +0 -230
  78. data/lib/selenium/webdriver/devtools/v85/overlay.rb +0 -160
  79. data/lib/selenium/webdriver/devtools/v85/page.rb +0 -376
  80. data/lib/selenium/webdriver/devtools/v85/performance.rb +0 -65
  81. data/lib/selenium/webdriver/devtools/v85/profiler.rb +0 -113
  82. data/lib/selenium/webdriver/devtools/v85/runtime.rb +0 -196
  83. data/lib/selenium/webdriver/devtools/v85/schema.rb +0 -48
  84. data/lib/selenium/webdriver/devtools/v85/security.rb +0 -73
  85. data/lib/selenium/webdriver/devtools/v85/service_worker.rb +0 -118
  86. data/lib/selenium/webdriver/devtools/v85/storage.rb +0 -97
  87. data/lib/selenium/webdriver/devtools/v85/system_info.rb +0 -52
  88. data/lib/selenium/webdriver/devtools/v85/target.rb +0 -145
  89. data/lib/selenium/webdriver/devtools/v85/tethering.rb +0 -57
  90. data/lib/selenium/webdriver/devtools/v85/tracing.rb +0 -78
  91. data/lib/selenium/webdriver/devtools/v85/web_audio.rb +0 -72
  92. data/lib/selenium/webdriver/devtools/v85/web_authn.rb +0 -96
  93. data/lib/selenium/webdriver/devtools/v86/accessibility.rb +0 -64
  94. data/lib/selenium/webdriver/devtools/v86/animation.rb +0 -100
  95. data/lib/selenium/webdriver/devtools/v86/application_cache.rb +0 -66
  96. data/lib/selenium/webdriver/devtools/v86/audits.rb +0 -63
  97. data/lib/selenium/webdriver/devtools/v86/background_service.rb +0 -69
  98. data/lib/selenium/webdriver/devtools/v86/browser.rb +0 -125
  99. data/lib/selenium/webdriver/devtools/v86/cache_storage.rb +0 -75
  100. data/lib/selenium/webdriver/devtools/v86/cast.rb +0 -72
  101. data/lib/selenium/webdriver/devtools/v86/console.rb +0 -59
  102. data/lib/selenium/webdriver/devtools/v86/css.rb +0 -181
  103. data/lib/selenium/webdriver/devtools/v86/database.rb +0 -66
  104. data/lib/selenium/webdriver/devtools/v86/debugger.rb +0 -233
  105. data/lib/selenium/webdriver/devtools/v86/device_orientation.rb +0 -55
  106. data/lib/selenium/webdriver/devtools/v86/dom.rb +0 -329
  107. data/lib/selenium/webdriver/devtools/v86/dom_debugger.rb +0 -95
  108. data/lib/selenium/webdriver/devtools/v86/dom_snapshot.rb +0 -67
  109. data/lib/selenium/webdriver/devtools/v86/dom_storage.rb +0 -81
  110. data/lib/selenium/webdriver/devtools/v86/emulation.rb +0 -193
  111. data/lib/selenium/webdriver/devtools/v86/fetch.rb +0 -99
  112. data/lib/selenium/webdriver/devtools/v86/headless_experimental.rb +0 -63
  113. data/lib/selenium/webdriver/devtools/v86/heap_profiler.rb +0 -109
  114. data/lib/selenium/webdriver/devtools/v86/indexed_db.rb +0 -102
  115. data/lib/selenium/webdriver/devtools/v86/input.rb +0 -143
  116. data/lib/selenium/webdriver/devtools/v86/inspector.rb +0 -57
  117. data/lib/selenium/webdriver/devtools/v86/io.rb +0 -61
  118. data/lib/selenium/webdriver/devtools/v86/layer_tree.rb +0 -97
  119. data/lib/selenium/webdriver/devtools/v86/log.rb +0 -68
  120. data/lib/selenium/webdriver/devtools/v86/media.rb +0 -59
  121. data/lib/selenium/webdriver/devtools/v86/memory.rb +0 -88
  122. data/lib/selenium/webdriver/devtools/v86/network.rb +0 -235
  123. data/lib/selenium/webdriver/devtools/v86/overlay.rb +0 -183
  124. data/lib/selenium/webdriver/devtools/v86/page.rb +0 -376
  125. data/lib/selenium/webdriver/devtools/v86/performance.rb +0 -65
  126. data/lib/selenium/webdriver/devtools/v86/profiler.rb +0 -113
  127. data/lib/selenium/webdriver/devtools/v86/runtime.rb +0 -196
  128. data/lib/selenium/webdriver/devtools/v86/schema.rb +0 -48
  129. data/lib/selenium/webdriver/devtools/v86/security.rb +0 -73
  130. data/lib/selenium/webdriver/devtools/v86/service_worker.rb +0 -118
  131. data/lib/selenium/webdriver/devtools/v86/storage.rb +0 -97
  132. data/lib/selenium/webdriver/devtools/v86/system_info.rb +0 -52
  133. data/lib/selenium/webdriver/devtools/v86/target.rb +0 -145
  134. data/lib/selenium/webdriver/devtools/v86/tethering.rb +0 -57
  135. data/lib/selenium/webdriver/devtools/v86/tracing.rb +0 -78
  136. data/lib/selenium/webdriver/devtools/v86/web_audio.rb +0 -72
  137. data/lib/selenium/webdriver/devtools/v86/web_authn.rb +0 -102
  138. data/lib/selenium/webdriver/devtools/v87/accessibility.rb +0 -73
  139. data/lib/selenium/webdriver/devtools/v87/animation.rb +0 -100
  140. data/lib/selenium/webdriver/devtools/v87/application_cache.rb +0 -66
  141. data/lib/selenium/webdriver/devtools/v87/audits.rb +0 -63
  142. data/lib/selenium/webdriver/devtools/v87/background_service.rb +0 -69
  143. data/lib/selenium/webdriver/devtools/v87/browser.rb +0 -125
  144. data/lib/selenium/webdriver/devtools/v87/cache_storage.rb +0 -75
  145. data/lib/selenium/webdriver/devtools/v87/cast.rb +0 -72
  146. data/lib/selenium/webdriver/devtools/v87/css.rb +0 -181
  147. data/lib/selenium/webdriver/devtools/v87/database.rb +0 -66
  148. data/lib/selenium/webdriver/devtools/v87/debugger.rb +0 -233
  149. data/lib/selenium/webdriver/devtools/v87/device_orientation.rb +0 -55
  150. data/lib/selenium/webdriver/devtools/v87/dom.rb +0 -329
  151. data/lib/selenium/webdriver/devtools/v87/dom_debugger.rb +0 -95
  152. data/lib/selenium/webdriver/devtools/v87/dom_snapshot.rb +0 -67
  153. data/lib/selenium/webdriver/devtools/v87/dom_storage.rb +0 -81
  154. data/lib/selenium/webdriver/devtools/v87/emulation.rb +0 -193
  155. data/lib/selenium/webdriver/devtools/v87/fetch.rb +0 -99
  156. data/lib/selenium/webdriver/devtools/v87/headless_experimental.rb +0 -63
  157. data/lib/selenium/webdriver/devtools/v87/heap_profiler.rb +0 -109
  158. data/lib/selenium/webdriver/devtools/v87/indexed_db.rb +0 -102
  159. data/lib/selenium/webdriver/devtools/v87/input.rb +0 -143
  160. data/lib/selenium/webdriver/devtools/v87/inspector.rb +0 -57
  161. data/lib/selenium/webdriver/devtools/v87/io.rb +0 -61
  162. data/lib/selenium/webdriver/devtools/v87/layer_tree.rb +0 -97
  163. data/lib/selenium/webdriver/devtools/v87/log.rb +0 -68
  164. data/lib/selenium/webdriver/devtools/v87/media.rb +0 -59
  165. data/lib/selenium/webdriver/devtools/v87/memory.rb +0 -88
  166. data/lib/selenium/webdriver/devtools/v87/network.rb +0 -247
  167. data/lib/selenium/webdriver/devtools/v87/overlay.rb +0 -183
  168. data/lib/selenium/webdriver/devtools/v87/page.rb +0 -376
  169. data/lib/selenium/webdriver/devtools/v87/performance.rb +0 -65
  170. data/lib/selenium/webdriver/devtools/v87/profiler.rb +0 -125
  171. data/lib/selenium/webdriver/devtools/v87/runtime.rb +0 -196
  172. data/lib/selenium/webdriver/devtools/v87/schema.rb +0 -48
  173. data/lib/selenium/webdriver/devtools/v87/security.rb +0 -73
  174. data/lib/selenium/webdriver/devtools/v87/service_worker.rb +0 -118
  175. data/lib/selenium/webdriver/devtools/v87/storage.rb +0 -97
  176. data/lib/selenium/webdriver/devtools/v87/target.rb +0 -145
  177. data/lib/selenium/webdriver/devtools/v87/tethering.rb +0 -57
  178. data/lib/selenium/webdriver/devtools/v87/tracing.rb +0 -78
  179. data/lib/selenium/webdriver/devtools/v87/web_audio.rb +0 -72
  180. data/lib/selenium/webdriver/devtools/v87/web_authn.rb +0 -102
  181. data/lib/selenium/webdriver/devtools/v88/accessibility.rb +0 -73
  182. data/lib/selenium/webdriver/devtools/v88/animation.rb +0 -100
  183. data/lib/selenium/webdriver/devtools/v88/application_cache.rb +0 -66
  184. data/lib/selenium/webdriver/devtools/v88/audits.rb +0 -63
  185. data/lib/selenium/webdriver/devtools/v88/background_service.rb +0 -69
  186. data/lib/selenium/webdriver/devtools/v88/browser.rb +0 -130
  187. data/lib/selenium/webdriver/devtools/v88/cache_storage.rb +0 -75
  188. data/lib/selenium/webdriver/devtools/v88/cast.rb +0 -72
  189. data/lib/selenium/webdriver/devtools/v88/console.rb +0 -59
  190. data/lib/selenium/webdriver/devtools/v88/css.rb +0 -181
  191. data/lib/selenium/webdriver/devtools/v88/database.rb +0 -66
  192. data/lib/selenium/webdriver/devtools/v88/debugger.rb +0 -233
  193. data/lib/selenium/webdriver/devtools/v88/device_orientation.rb +0 -55
  194. data/lib/selenium/webdriver/devtools/v88/dom.rb +0 -329
  195. data/lib/selenium/webdriver/devtools/v88/dom_debugger.rb +0 -95
  196. data/lib/selenium/webdriver/devtools/v88/dom_snapshot.rb +0 -67
  197. data/lib/selenium/webdriver/devtools/v88/dom_storage.rb +0 -81
  198. data/lib/selenium/webdriver/devtools/v88/emulation.rb +0 -198
  199. data/lib/selenium/webdriver/devtools/v88/fetch.rb +0 -99
  200. data/lib/selenium/webdriver/devtools/v88/headless_experimental.rb +0 -63
  201. data/lib/selenium/webdriver/devtools/v88/heap_profiler.rb +0 -109
  202. data/lib/selenium/webdriver/devtools/v88/indexed_db.rb +0 -102
  203. data/lib/selenium/webdriver/devtools/v88/input.rb +0 -148
  204. data/lib/selenium/webdriver/devtools/v88/inspector.rb +0 -57
  205. data/lib/selenium/webdriver/devtools/v88/io.rb +0 -61
  206. data/lib/selenium/webdriver/devtools/v88/layer_tree.rb +0 -97
  207. data/lib/selenium/webdriver/devtools/v88/log.rb +0 -68
  208. data/lib/selenium/webdriver/devtools/v88/media.rb +0 -59
  209. data/lib/selenium/webdriver/devtools/v88/memory.rb +0 -88
  210. data/lib/selenium/webdriver/devtools/v88/network.rb +0 -247
  211. data/lib/selenium/webdriver/devtools/v88/overlay.rb +0 -183
  212. data/lib/selenium/webdriver/devtools/v88/page.rb +0 -376
  213. data/lib/selenium/webdriver/devtools/v88/performance.rb +0 -65
  214. data/lib/selenium/webdriver/devtools/v88/profiler.rb +0 -125
  215. data/lib/selenium/webdriver/devtools/v88/runtime.rb +0 -197
  216. data/lib/selenium/webdriver/devtools/v88/schema.rb +0 -48
  217. data/lib/selenium/webdriver/devtools/v88/security.rb +0 -73
  218. data/lib/selenium/webdriver/devtools/v88/service_worker.rb +0 -118
  219. data/lib/selenium/webdriver/devtools/v88/storage.rb +0 -103
  220. data/lib/selenium/webdriver/devtools/v88/system_info.rb +0 -52
  221. data/lib/selenium/webdriver/devtools/v88/target.rb +0 -145
  222. data/lib/selenium/webdriver/devtools/v88/tethering.rb +0 -57
  223. data/lib/selenium/webdriver/devtools/v88/tracing.rb +0 -79
  224. data/lib/selenium/webdriver/devtools/v88/web_audio.rb +0 -72
  225. data/lib/selenium/webdriver/devtools/v88/web_authn.rb +0 -102
  226. data/lib/selenium/webdriver/firefox/bridge.rb +0 -47
  227. data/lib/selenium/webdriver/safari/bridge.rb +0 -51
  228. data/selenium-webdriver.gemspec +0 -50
  229. data/selenium_server_deploy.jar +0 -0
data/CHANGES DELETED
@@ -1,1825 +0,0 @@
1
- 4.0.0.beta1 (2021-02-15)
2
- =========================
3
-
4
- DevTools:
5
- * Updated supported versions to 85-88
6
-
7
- Edge:
8
- * Removed support for legacy Edge HTML
9
-
10
- Firefox:
11
- * Fixed support for default profile settings
12
- * Added support for Devtools for Firefox v87+
13
-
14
- Safari:
15
- * Removed default platformName specification so it works with Grid
16
-
17
- Ruby:
18
- * Added support for httpOnly attribute in Cookies
19
- * Implemented `#print_page` method (thanks @raju249)
20
- * Fixed support for missing libraries in Ruby 3.0 (thanks @znz)
21
- * Deprecated `HTTP::Persistent` class
22
- * Fixed support for accessors in options classes
23
- * Added support for status endpoint for all browsers
24
- * Fix support for Browser, Driver, and Performance Logging in Chrome and Edge
25
-
26
- 4.0.0.alpha7 (2020-11-10)
27
- =========================
28
-
29
- Chrome:
30
- * Fixed a link to download ChromeDriver when it's not found (thanks @masakazutakewaka).
31
- * Fixed an issue when passing instance of Profile to an Options in capabilities
32
- (thanks @masakazutakewaka).
33
-
34
- DevTools:
35
- * Added support for multiple version of CDP. Currently supported versions are
36
- 84-87. The proper version is automatically selected when the browser is started
37
- based on its version. The implementation is Chromium-based and is confirmed
38
- to work in Chrome and Edge at least.
39
- * Added support for basic authentication (see HasAuthentication).
40
- * Added support for listening to JavaScript console messages (see HasLogEvents).
41
- * Added support for listening to JavaScript exceptions (see HasLogEvents).
42
- * Added support for listening to DOM mutations (see HasLogEvents).
43
-
44
- Edge:
45
- * Switched default Edge implementation to Chromium-based. To use older versions
46
- of Edge, pass :edge_html when initializing the driver.
47
-
48
- Firefox:
49
- * Fixed an issue whereby using the new capabilities structure in local drivers
50
- would cause the W3C check to complain that `browser_name` was an invalid
51
- capability key name (thanks @luke-hill)
52
-
53
- Ruby:
54
- * Added support for taking screenshots of individual elements using Element#screenshot
55
- (thanks @johndouthat).
56
- * Fixed deprecation message of using Net::HTTP::Proxy (thanks @masakazutakewaka).
57
- * Fixed false negative detection of Linux on WSL2 (thanks @snsten).
58
- * Support ChildProcess 4.x versions (thanks @boutil).
59
-
60
- Safari:
61
- * Fixed browser name in capabilities for Safari Technology Preview.
62
-
63
- 4.0.0.alpha6 (2020-05-28)
64
- =========================
65
-
66
- Chrome:
67
- * Added DevTools classes and methods generated from the CDP specification.
68
- It currently supports commands and events and provides Rubyish API:
69
- driver.devtools.page.navigate(url: 'http://google.com')
70
- driver.devtools.console.clear_messages
71
- driver.devtools.page.enable
72
- driver.devtools.page.on(:load_event_fired) do |params|
73
- puts("Page loaded in #{params['timestamp']}")
74
- end
75
- Check https://chromedevtools.github.io/devtools-protocol/ for more information
76
- about possible commands and events. Please note that this API is considered
77
- to be experimental and may change any time before stable 4.0 release.
78
- * Fixed an issue when passing :prompt_for_download (or similar snake_cased
79
- symbols) in Options#prefs would be ignored by Chrome because Selenium
80
- would internally convert it to camelCased format (:promptForDownload).
81
- Now :prefs are left intact.
82
-
83
- Edge:
84
- * Fixed an issue when Driver#execute_cdp would not work for Chromium-based
85
- Edge browser.
86
-
87
- Ruby:
88
- * Deprecated passing :desired_capabilities and :options to driver initialization
89
- in favor of :capabilities. They now can be combined in an array to make
90
- custom capabilities requirements:
91
- caps = Selenium::WebDriver::Remote::Capabilities.chrome
92
- opts = Selenium::WebDriver::Chrome::Options.new
93
- Selenium::WebDriver.for(:remote, capabilities: :chrome)
94
- Selenium::WebDriver.for(:remote, capabilities: caps)
95
- Selenium::WebDriver.for(:remote, capabilities: opts)
96
- Selenium::WebDriver.for(:remote, capabilities: [caps, opts])
97
- * Deprecated passing Hash to :capabilities in favor of Remote::Capabilities object.
98
- * Updated minimum require Ruby version to 2.5.
99
- * Improved keyword arguments handling to avoid warnings in Ruby 2.7.
100
-
101
- 4.0.0.alpha5 (2020-03-18)
102
- =========================
103
-
104
- The release is just to synchronize version with other bindings and does not
105
- include any changes.
106
-
107
- 4.0.0.alpha4 (2020-01-09)
108
- =========================
109
-
110
- Ruby:
111
- * Added initial support for relative locators, which allow to find elements
112
- above/below/left/right/near another element. For example, you can find all
113
- the cells in a table to the right of your starting cell:
114
- start_cell = driver.find_element(css: 'td')
115
- right_cells = driver.find_elements(relative: {tag_name: 'td', right: start_cell})
116
- The documentation is still lacking so refer to examples in df6be2e962.
117
- * Added ability to silence certain logger messages by using it's identifiers:
118
- Selenium::WebDriver.logger.ignore(:driver_path)
119
- * Added new dependency: websocket. It's used for communicating with Chrome DevTools.
120
- * Loosened childprocess dependency to allow using version 2.0+.
121
- * Loosened rubyzip dependency to allow using version 2.0+.
122
- * Fixed Errno::EACCES error on Linux DeX and similar distributes
123
-
124
- Chrome:
125
- * Added initial support for communicating with Chrome DevTools. The implementation
126
- is very basic and lacks CDP domains, events and types - those will be added
127
- in future releases. Still, it allows to execute simple commands to DevTools:
128
- driver.devtools.send('Page.navigate', {url: 'https://google.com'})
129
-
130
- 4.0.0.alpha3 (2019-07-08)
131
- =========================
132
-
133
- Ruby:
134
- * All documented driver capabilities supported in respective browser Options class by constructor and accessor
135
- * Driver constructor :options and :desired_capabilities generate the same capabilities for local and remote execution
136
- * Deprecated :options as keyword for initializing browser Options classes
137
-
138
- Chrome:
139
- * Add support for browser logging with latest versions of chromedriver
140
-
141
- Edge:
142
- * Add support for Chromium based implementation
143
-
144
- 4.0.0.alpha2 (2019-05-02)
145
- =========================
146
-
147
- Ruby:
148
- * Fixed an issue with previous alpha release which lead to removed files
149
- being packaged inside the gem
150
-
151
- 4.0.0.alpha1 (2019-05-01)
152
- =========================
153
-
154
- Ruby:
155
- * Removed Mouse and Keyboard as their implementations are not compliant to WebDriver specification
156
- * Removed TouchActionBuilder as its implementation is not compliant to WebDriver specification
157
- * Change ActionBuilder to be fully compliant to WebDriver specification
158
- * Change Manager to be fully compliant to WebDriver specification
159
- * Removed all deprecated errors that are not compliant to WebDriver specification
160
- * Update minimum required Ruby version to 2.4
161
- * Changed capabilities to use only those that are compliant to WebDriver specification
162
- * Removed deprecated timeout setter on default HTTP client
163
- * Removed deprecated Remote::W3C::Capabilities
164
- * Fixed an issue when services are not shutdown properly
165
-
166
- Chrome:
167
- * Removed support for OSS mode - use W3C mode instead by using
168
- Selenium::WebDriver::Chrome::Options.new(options: {w3c: true})
169
-
170
- PhantomJS:
171
- * Removed support for PhantomJS driver
172
-
173
- Firefox:
174
- * Removed support for legacy Firefox driver - use GeckoDriver instead
175
- * Removed deprecated outdated capabilities
176
- * Fixed an issue when passing :profile string to Firefox::Options.new would
177
- result in NoMethodError. Now it will find a profile with such name on your
178
- system and use it accordingly (issue #7119)
179
-
180
- 3.142.7 (2019-12-27)
181
- ====================
182
-
183
- Ruby:
184
- * Fix keyword argument deprecations in Ruby 2.7 (thanks @connorshea)
185
-
186
- 3.142.6 (2019-10-04)
187
- ====================
188
-
189
- Ruby:
190
- * Loosen ChildProcess dependency so that 3.0+ can be used (thanks @jaredbeck)
191
-
192
- 3.142.5 (2019-10-01)
193
- ====================
194
-
195
- Ruby:
196
- * Loosen RubyZip dependency so that 1.3+ can be used (thanks @vtamara)
197
-
198
- 3.142.4 (2019-09-02)
199
- ====================
200
-
201
- Chrome:
202
- * Added support for new command for getting logs in ChromeDriver 76+
203
- with W3C mode on
204
-
205
- 3.142.3 (2019-05-21)
206
- ====================
207
-
208
- Firefox:
209
- * Fixed a regression when Firefox binary path was not sent to GeckoDriver
210
- by default and browser could not be located (issue #7219)
211
-
212
- 3.142.2 (2019-05-11)
213
- ====================
214
-
215
- Chrome:
216
- * Fixed an issue when getting/setting network conditions and sending CDP
217
- commands didn't work with Grid (issue #7174)
218
-
219
- Safari:
220
- * Fixed an issue when getting/setting permissions and attaching debugger
221
- didn't work with Grid (issue #7174)
222
-
223
- 3.142.1 (2019-05-07)
224
- ====================
225
-
226
- Firefox:
227
- * Fixed an issue when processing error in legacy driver would result
228
- in NoMethodError (issue #7178)
229
-
230
- 3.142.0 (2019-04-24)
231
- ====================
232
-
233
- Ruby:
234
- * Fixed an issue when services are not shutdown properly
235
-
236
- Firefox:
237
- * Fixed an issue when passing :profile string to Firefox::Options.new would
238
- result in NoMethodError. Now it will find a profile with such name on your
239
- system and use it accordingly (issue #7119)
240
- * Fixed an issue when instantiating Firefox driver with capabilities having
241
- :marionette would result in NoMethodError (issue #7120)
242
-
243
- 3.141.5926 (2019-04-18)
244
- =======================
245
-
246
- Ruby:
247
- * Fixed an issue when Selenium itself would print deprecation warning
248
- for TimeoutError
249
- * Fixed a regression when socket poller would raise Errno::EBADF on JRuby
250
-
251
- 3.141.592 (2019-04-18)
252
- ======================
253
-
254
- Ruby:
255
- * Updated minimum required Ruby version to 2.3
256
- * Added support for ChildProcess 1.x
257
- * Improved socket connection waiting (thanks @N0xFF)
258
- * Changed waiting to use monotonic clock instead of Time class to avoid
259
- collisions with Timecop and similar gems
260
- * Removed deprecated PortProber.random
261
- * Added strictFileInteractability to the list of known capabilities
262
- * Added InsecureCertificateError
263
- * Added support for setting SOCKS version in proxy (issue #6938)
264
- * Implemented new window command using driver.manage.new_window. The command
265
- is supported by recent Firefox, Safari and IE drivers (thanks @dylanlive)
266
- * Added support for passing proc to driver_path setter in Service classes
267
- * Deprecated all errors which don't exist in WebDriver specification
268
- * Deprecated TouchActionBuilder which is not a part of WebDriver specification
269
- and is only supported by Chrome, but is likely to be dropped in v75.
270
- ActionBuilder should be used instead
271
- * Deprecated using Remote::W3C::Capabilities in favor of Remote::Capabilities
272
-
273
- Chrome:
274
- * Added support for execute CDP commands using Driver#execute_cdp
275
- * Removed GPU disabling in ChromeDriver when using Options#headless!
276
- * Switched suggested download URL to HTTPS (thanks @JLLeitschuh)
277
- * Added support for instantiating service class directly and moved all driver
278
- executable configuration there (command-line arguments, port, etc.)
279
- Passing driver_opts, driver_path and port to driver initializer is now
280
- deprecated so use Selenium::WebDriver::Service.chrome instead, which allows
281
- to customize executable behavior in similar way. Once initialized, this
282
- object can be passed as :service keyword during driver initialization.
283
- * Deprecated Chrome.driver_path= in favor of Service::Chrome.driver_path=
284
-
285
- Edge:
286
- * Added support for instantiating service class directly and moved all driver
287
- executable configuration there (command-line arguments, port, etc.)
288
- Passing driver_opts, driver_path and port to driver initializer is now
289
- deprecated so use Selenium::WebDriver::Service.firefox instead, which allows
290
- to customize executable behavior in similar way. Once initialized, this
291
- object can be passed as :service keyword during driver initialization
292
- * Deprecated Edge.driver_path= in favor of Service::Edge.driver_path=
293
-
294
- Firefox:
295
- * Deprecated legacy driver in favor of GeckoDriver
296
- * Fixed Firefox path lookup on Cygwin (issue #6908)
297
- * Added support for instantiating service class directly and moved all driver
298
- executable configuration there (command-line arguments, port, etc.)
299
- Passing driver_opts, driver_path and port to driver initializer is now
300
- deprecated so use Selenium::WebDriver::Service.firefox instead, which allows
301
- to customize executable behavior in similar way. Once initialized, this
302
- object can be passed as :service keyword during driver initialization
303
- * Deprecated Firefox.driver_path= in favor of Service::Firefox.driver_path=
304
- * Deprecated outdated capabilities
305
-
306
- IE:
307
- * Fixed an issue when native events could not be disabled using IE::Options
308
- initializer
309
- * Added support for instantiating service class directly and moved all driver
310
- executable configuration there (command-line arguments, port, etc.)
311
- Passing driver_opts, driver_path and port to driver initializer is now
312
- deprecated so use Selenium::WebDriver::Service.ie instead, which allows
313
- to customize executable behavior in similar way. Once initialized, this
314
- object can be passed as :service keyword during driver initialization
315
- * Deprecated IE.driver_path= in favor of Service::IE.driver_path=
316
-
317
- Safari:
318
- * Added support for instantiating service class directly and moved all driver
319
- executable configuration there (command-line arguments, port, etc.)
320
- Passing driver_opts, driver_path and port to driver initializer is now
321
- deprecated so use Selenium::WebDriver::Service.safari instead, which allows
322
- to customize executable behavior in similar way. Once initialized, this
323
- object can be passed as :service keyword during driver initialization
324
- * Deprecated Safari.driver_path= in favor of Service::Safari.driver_path=
325
-
326
- Remote:
327
- * Change default HTTP client to use persistent connections
328
-
329
- 3.141.0 (2018-10-31)
330
- ====================
331
-
332
- Edge:
333
- * Added new Edge::Options class that should be used to customize browser
334
- behavior. The instance of options class can be passed to driver
335
- initialization using :options key. Please, note that using options require
336
- insiders builds of Edge.
337
-
338
- Chrome:
339
- * Included HasLocation to Chrome driver (thanks @sidonath).
340
- * Updated endpoint to send Chrome Debugging Protocol commands. The old one
341
- has been deprecated in ChromeDriver 40.
342
-
343
- Safari:
344
- * Added new Safari::Options class that should be used to customize browser
345
- behavior. The instance of options class can be passed to driver
346
- initialization using :options key. Please, note that using options require
347
- Safari 12+.
348
-
349
- Remote:
350
- * Allow passing Options instances to remote driver initialization using
351
- :options key. This feature allows to use browser-specific options classes
352
- (Chrome::Options, Firefox::Options, etc.) and pass them to Server/Grid
353
- instead of capabilities.
354
-
355
- 3.14.1 (2018-10-03)
356
- ===================
357
-
358
- Ruby:
359
- * Added a workaround to ignore Errno::EALREADY error when starting drivers
360
- on Windows Subsystem for Linux
361
- * Changed default pause duration to 0 for Selenium::WebDriver::Driver#action#pause (thanks @twalpole)
362
- * Deprecated Selenium::WebDriver::PortProber#random
363
- in favor of Selenium::WebDriver::PortProber#above
364
- * Fixed a bug when Selenium::WebDriver::Element#drag_and_drop would not
365
- work in certain cases
366
- * Updated RubyZip dependency to 1.2.2 which fixes security vulnerability
367
-
368
- Edge:
369
- * Added support for --silent driver flag
370
- * Fixed an incorrect dash symbol when passing arguments to MicrosoftWebDriver.exe
371
-
372
- Firefox:
373
- * Fixed an incorrect dash symbol when passing arguments to GeckoDriver
374
-
375
- Safari:
376
- * Fixed a bug when Selenium::WebDriver::Element#displayed? would raise error
377
- in Safari 12
378
-
379
- 3.14.0 (2018-08-03)
380
- ===================
381
-
382
- Ruby:
383
- * Allow to customize default duration of movement of pointer actions using
384
- Driver#action#default_move_duration= (thanks @prakharrr)
385
- * Fixed an accidentally removed Selenium::WebDriver::Error::TimeoutError (thanks @twalpole)
386
-
387
- Server:
388
- * Fixed an issue when Server.latest couldn't parse the version
389
-
390
- Remote:
391
- * Added support for uploading multiple files by passing them as a string
392
- separated by \n to Element#send_keys. Please, note that not all the drivers
393
- have multiple file upload implemented (tested to work in ChromeDriver).
394
-
395
- 3.13.1 (2018-07-20)
396
- ===================
397
-
398
- Chrome:
399
- * Fixed an issue when empty Chrome options would cause DevToolsActivePort issue (thanks @artplan1)
400
-
401
- Remote:
402
- * Support detecting local files (thanks @mskvn)
403
-
404
- 3.13.0 (2018-06-25)
405
- ===================
406
-
407
- Ruby:
408
- * Address warnings for redefined methods and uninitialized instance variables
409
-
410
- Chrome:
411
- * Chrome options capabilities updated to use goog:chromeOptions.
412
- Note that Selenium now requires ChromeDriver v2.31 at minimum.
413
- * Added ability to tell headless Chrome to save files using Driver#download_path= (thanks @pelly)
414
-
415
- 3.12.0 (2018-05-08)
416
- ===================
417
-
418
- Ruby:
419
- * Added User-Agent header to requests from Selenium to give remote
420
- ends more visibility into distribution of clients (thanks @sah)
421
- * Added Selenium::WebDriver::VERSION constant (thanks @sah)
422
- * Added changelog link to RubyGems page
423
- * Fixed a bug when requests were sent with empty Content-Type,
424
- which should instead be application/json (issue #5615 and #5659)
425
- * Fixed a bug when failed connection attempt was retried without
426
- grace period for remote to resolve its problem (thanks @amckinley42)
427
- * Fixed a bug with accidentally removed HasNetworkConnection driver extension
428
-
429
- Chrome:
430
- * Fixed a bug when deprecation message for using Chrome extensions
431
- was incorrectly shown (thanks @treby)
432
-
433
- Safari:
434
- * Added support getting permissions via Driver#permissions
435
- * Added support setting permissions via Driver#permissions=
436
- * Added support enabling web inspector via Driver#attach_debugger
437
-
438
- 3.11.0 (2018-03-11)
439
- ===================
440
-
441
- Ruby:
442
- * No changes in Ruby bindings for this release
443
-
444
- 3.10.0 (2018-03-02)
445
- ===================
446
-
447
- Ruby:
448
- * Added Errno::EAFNOSUPPORT to the list of ignored errors when finding port (thanks @jtarchie)
449
- * Added automatic conversion of noProxy to the list of strings as required
450
- by W3C WebDriver Specification (issue #5004)
451
-
452
- Chrome:
453
- * Added Chrome::Options#headless! shortcut to enable headless mode (thanks @pulkitsharma07)
454
-
455
- IE:
456
- * Added support for getting local storage using Driver#local_storage
457
- * Added support for getting session storage using Driver#session_storage
458
-
459
- 3.9.0 (2018-02-06)
460
- ==================
461
-
462
- Ruby:
463
- * Fixed a bug when omitted capabilities caused NoMethodError (issue #5185)
464
- * Fixed a bug when getting page source in W3C dialect caused WebDriverError (thanks @KazuCocoa)
465
- * Fixed a bug when getting backtrace of server error would case NoMethodError (thanks @mcking49)
466
- * Updated YARD to ~> 0.9.11
467
- * Updated rubyzip to ~> 1.2 (thanks @michaelglass)
468
-
469
- Chrome:
470
- * Added support for getting network conditions via Driver#network_conditions
471
- * Added support for setting network conditions via Driver#network_conditions=
472
- * Added support to allow driver respond with custom error codes (issue #5376)
473
-
474
- Firefox:
475
- * Improved GeckoDriver binary lookup mechanism (issue #5240)
476
-
477
- 3.8.0 (2017-12-01)
478
- ==================
479
-
480
- Ruby:
481
- * Removed deprecated Alert#authenticate
482
- * Removed deprecated :port initialization argument of Remote::Bridge.
483
- Use :url instead.
484
- * Removed deprecated Selenium::WebDriver::Remote::W3CCapabilities.
485
- Use Selenium::WebDriver::Remote::Capabilities instead.
486
-
487
- IE:
488
- * Remove deprecated :log_file driver initialization argument.
489
- Use driver_opts: {log_file: ''} instead.
490
- * Remove deprecated :log_level driver initialization argument.
491
- Use driver_opts: {log_level: ''} instead.
492
- * Remove deprecated :implementation driver initialization argument.
493
- Use driver_opts: {implementation: ''} instead.
494
- * Removed deprecated :service_args driver initialization argument.
495
- Use driver_opts: {args: ['--some-switch']} instead.
496
-
497
- Chrome:
498
- * Removed deprecated :service_log_path driver initialization argument.
499
- Use driver_opts: {log_path: 'path'} instead.
500
- * Removed deprecated :service_args driver initialization argument.
501
- Use driver_opts: {args: ['--some-switch']} instead.
502
-
503
- Firefox:
504
- * Removed deprecated :service_args driver initialization argument.
505
- Use driver_opts: {args: ['--some-switch']} instead.
506
-
507
- Safari:
508
- * Removed deprecated :service_args driver initialization argument.
509
- Use driver_opts: {args: ['--some-switch']} instead.
510
-
511
- Edge:
512
- * Removed deprecated :service_args driver initialization argument.
513
- Use driver_opts: {args: ['--some-switch']} instead.
514
-
515
- 3.7.0 (2017-11-03)
516
- ==================
517
-
518
- Ruby:
519
- * Added //rb:lint task to check codebase using RuboCop (thanks @RustyNail)
520
- * Fixed codebase to comply more to Ruby community style guide (thanks @RustyNail)
521
- * Packaged all dependencies to Selenium repository so that non-Ruby committers
522
- can build and test Ruby bindings easier
523
- * Update errors list according to latest changes of specification (thanks @jaysonesmith)
524
-
525
- Firefox:
526
- * Added Firefox::Options#headless! shortcut to enable headless mode (thanks @franzliedke)
527
-
528
- 3.6.0 (2017-09-25)
529
- ==================
530
-
531
- Edge:
532
- * Fixed a bug when execute_script failed using server + Edge (issue #4651)
533
-
534
- Firefox:
535
- * Fixed a bug when web extension failed to install using profile class (issue #4093)
536
-
537
- PhantomJS:
538
- * Support is deprecated in favor of headless Chrome/Firefox or HTMLUnit.
539
- PhantomJS is no longer actively developed, and support will eventually
540
- be dropped.
541
-
542
- 3.5.2 (2017-09-07)
543
- ==================
544
-
545
- Ruby:
546
- * Removed platformVersion from W3C payload (issue #4641)
547
- * Fixed a bug when proxy type was not compliant to specification (issue #4574)
548
- * Added support for passing speed to flick action (issue #4549)
549
- * Using TouchActionBuilder no longer prints mouse/key deprecations
550
- * Deprecated Alert#authenticate
551
- * Added support for DEBUG environment variable which enables full debug mode in gem
552
-
553
- Firefox:
554
- * Fixed a bug when page load timeout was not properly constructed in new session payload
555
- * Fixed a bug when GeckoDriver error stacktrace was not displayed (issue #3683)
556
-
557
- Chrome:
558
- * Added workaround for the case when findElements call returns null (issue #4555)
559
- * Chrome::Driver now includes touch actions by default
560
-
561
- 3.5.1 (2017-08-15)
562
- ==================
563
-
564
- Ruby:
565
- * Fixed a bug when Chrome/Firefox (and probably other) drivers could not be
566
- started on JRuby (issue #4453).
567
-
568
- 3.5.0 (2017-08-10)
569
- ==================
570
-
571
- Firefox:
572
- * Firefox subprocess output is now only redirected when debug is set (issue #4311)
573
- * Fixed a bug where non-integers could be sent when setting window rect
574
- * Fixed Firefox location detection on Windows_x64 (thanks kamenlitchev)
575
- * Fixed passing of profile with a W3C compatible remote end
576
-
577
- IE:
578
- * Added new IE::Options class that should be used to customize browser
579
- behavior (native events, element scroll behavior, etc).
580
- The instance of options class can be passed to driver initialization using
581
- :options key. Old way of passing these customization directly to driver
582
- initialization is deprecated.
583
-
584
- 3.4.4 (2017-07-13)
585
- ==================
586
-
587
- Firefox:
588
- * Added support for GeckoDriver install addon command (issue 4215).
589
- * Added support for GeckoDriver uninstall addon command (issue 4215).
590
- * Raise error when passing :firefox_options as capability.
591
-
592
- Ruby:
593
- * Fixed a bug when childprocess were leaking /dev/null file descriptor (issue 4285).
594
- * Make Remote::Driver class so that it can be inherited from.
595
-
596
- 3.4.3 (2017-06-16)
597
- ==================
598
-
599
- Ruby:
600
- * Fixed a regression when passing symbol as :desired_capabilities caused NoMethodError (issue 4187).
601
-
602
- 3.4.2 (2017-06-14)
603
- ==================
604
-
605
- Ruby:
606
- * Added unhandledPromptBehavior to the list of known capabilities.
607
- * Added timeouts to the list of known capabilities.
608
- * Fixed a regression when passing hash as :desired_capabilities caused NoMethodError (issue 4172, thanks Thomas Walpole).
609
- * Fixed a regression when extension capabilities (the ones that have ":" inside)
610
- were filtered out when doing protocol handshake.
611
- * Improved handling of capability names passed as plain camelCased strings
612
- vs Rubyish snake_cased symbols when doing protocol handshake.
613
-
614
- Chrome:
615
- * Fixed a regression when passing :switches to driver initialization was ignored.
616
-
617
- 3.4.1 (2017-06-13)
618
- ==================
619
-
620
- Ruby:
621
- * Implemented a new dual-dialect mechanism for communication with drivers
622
- (a.k.a. protocol handshake). There shouldn't be any noticeable differences
623
- but since this is a significant refactoring of internal APIs, some bugs
624
- could slip into the release.
625
- * Renamed ElementClickIntercepted to ElementClickInterceptedError.
626
- * Renamed ElementNotInteractable to ElementNotInteractableError.
627
- * Deprecated W3CCapabilities in favor of Capabilities (it was meant to be private API).
628
- * Added a warning when trying to save screenshot without .png extension (thanks @abotalov).
629
-
630
- IE:
631
- * Added support for both old IEDriver which uses OSS dialect of JSON wire
632
- protocol (<= 3.4.0) and new IEDriver which uses W3C dialect (not yet released).
633
-
634
- Safari:
635
- * Removed runtime dependencies used for old SafariDriver (u.g. websocket).
636
-
637
- Chrome:
638
- * Added new Chrome::Options class that should be used to customize browser
639
- behavior (command line arguments, extensions, preferences, mobile emulation, etc.).
640
- The instance of options class can be passed to driver initialization using
641
- :options key. Old way of passing these customization directly to driver
642
- initialization is deprecated.
643
-
644
- Firefox:
645
- * Added new Firefox::Options class that should be used to customize browser
646
- behavior (command line arguments, profile, preferences, Firefox binary, etc.).
647
- The instance of options class can be passed to driver initialization using
648
- :options key. Old way of passing these customization directly to driver
649
- initialization is deprecated.
650
-
651
- 3.4.0 (2017-04-21)
652
- ===================
653
-
654
- Edge:
655
- * Fix bug when response is not wrapped with "value"
656
-
657
- Firefox:
658
- * Support geckodriver v0.16
659
-
660
- Ruby:
661
- * Support ElementClickIntercepted error from W3C spec
662
- * Support ElementNotInteractable error from W3C spec
663
- * Implement window rect commands
664
- * Implement window minimize command
665
-
666
- 3.3.0 (2017-03-07)
667
- ===================
668
-
669
- Firefox:
670
- * geckodriver v0.15 or later is required
671
-
672
- W3C:
673
- * Support for command response data to be wrapped in a 'value' key
674
- * Support for updated timeout formats
675
-
676
- 3.2.2 (2017-03-01)
677
- ===================
678
-
679
- Ruby:
680
- * Fix bug for supporting Logger output on Ruby versions < 2.3
681
- * Add more logging and adjust output levels
682
-
683
- Remote:
684
- * Support for creating Remote session with browser name and url parameters
685
-
686
- 3.2.1 (2017-02-24)
687
- ===================
688
-
689
- Ruby:
690
- * Fix bug for supporting Logger on Ruby versions < 2.3
691
-
692
- 3.2.0 (2017-02-22)
693
- ===================
694
-
695
- Ruby:
696
- * Implement new Logger class
697
- * Fix issue with chromedriver process leader incompatibility on Win7 (issue 3512)
698
-
699
- 3.1.0 (2017-02-14)
700
- ===================
701
-
702
- Firefox:
703
- * implement W3C actions endpoint
704
-
705
- 3.0.8 (2017-02-08)
706
- ===================
707
-
708
- Firefox:
709
- * Fix signature of element returned from #active_element
710
-
711
- 3.0.7 (2017-02-06)
712
- ===================
713
-
714
- Firefox:
715
- * Fix signature of element arrays returned from #find_elements (issue 3471)
716
-
717
- 3.0.6 (2017-02-05)
718
- ===================
719
-
720
- Firefox:
721
- * Implement W3C window position
722
- * Update implementation for W3C send text to alert
723
- * Implement timeout settings
724
- * Remove default capabilities (thanks lmtierney)
725
- * Fix signature of elements returned from #execute_script (thanks Thomas Walpole)
726
-
727
- 3.0.5 (2016-12-27)
728
- ===================
729
-
730
- Ruby:
731
- * Support for Ruby 2.4.0 (Thanks jamespdo)
732
-
733
- 3.0.4 (2016-12-21)
734
- ===================
735
-
736
- Firefox:
737
- * Implement profile support via geckodriver (#2933 thanks lmtierney)
738
-
739
- Ruby:
740
- * Fix bug preventing use of Curb client (#2951 thanks clarkenciel)
741
- * Support Net::HTTP::Persistent version 3 (#3219 thanks Pete Johns)
742
- * Allow Net::HTTP::Default to set open_timout and read_timeout independently (#3264 thanks richseviora)
743
- * Change default for Net::HTTP::Default#open_timeout to facilitate debuggers (#3264 thanks richseviora)
744
-
745
- 3.0.3 (2016-11-26)
746
- ===================
747
-
748
- Ruby:
749
- * Allow drivers to be executed from batch files on Windows
750
-
751
- 3.0.2 (2016-11-25)
752
- ===================
753
-
754
- Ruby:
755
- * Implement #driver_path as parameter when initializing a driver (thanks lmtierney)
756
- * Improve Ruby syntax in driver commands (thanks joe_schulte)
757
- * Improve performance when shutting down drivers (thanks lmtierney)
758
- * Fix bug for finding open ports on Windows (thanks kou1okada)
759
- * Fix bug in auto detection of drivers which allowed selection of non-executable binaries
760
-
761
- W3C:
762
- * Implement #cookie_named and #delete_all_cookies methods (thanks lmtierney)
763
- * Implement element #property method (thanks lmtierney)
764
-
765
- Chrome:
766
- * Fix bug in switches (thanks danvine)
767
-
768
- 3.0.1 (2016-11-06)
769
- ===================
770
-
771
- Ruby:
772
- * Always send JSON Wire Protocol commands to server instead of W3C commands
773
-
774
- 3.0.0 (2016-10-13)
775
- ===================
776
-
777
- Firefox:
778
- * Update :firefox_options support for geckodriver 0.11
779
-
780
- 3.0.0.beta4 (2016-09-29)
781
- ===================
782
-
783
- Ruby:
784
- * Remove support for deprecated driver options
785
- * Add support for latest driver options
786
- * Add support for :port parameter for launching driver
787
- * Add support for :service_args parameter for driver command line switches
788
- * Improve reliability by increasing service shutdown timeout (#2815; thanks John Barbuto )
789
-
790
- Firefox:
791
- * Add support for :firefox_options in geckodriver
792
-
793
- Safari:
794
- * Remove support for legacy Safari driver (use Apple's driver built in to Safari 10+)
795
-
796
- Chrome:
797
- * Set chromedriver to not log by default
798
-
799
- 3.0.0.beta3.1 (2016-09-03)
800
- ===================
801
-
802
- Firefox:
803
- * Fixed bug - legacy firefox extension included in gem
804
-
805
- 3.0.0.beta3 (2016-09-01)
806
- ===================
807
-
808
- Firefox:
809
- * Implemented w3c getAttribute with javascript atom
810
-
811
- 3.0.0.beta2.1 (2016-08-03)
812
- ===================
813
-
814
- Ruby:
815
- * Fixed bug in collections
816
-
817
- 3.0.0.beta2 (2016-08-02)
818
- ===================
819
-
820
- Firefox:
821
- * Fixed bug with form submission
822
- * Improved w3c element handling
823
-
824
- 3.0.0.beta1 (2016-07-28)
825
- ===================
826
-
827
- Ruby:
828
- * Remove support for RC client
829
- * Remove support for Ruby < 2.0
830
- * Update code to support designated style guidelines
831
- * Chrome/GeckoDriver/PhantomJS/IE/Edge drivers are refactored to use standard
832
- service class (issue 1797)
833
- * Option `:timeout` was removed from IE server (issue 1797)
834
-
835
- Chrome:
836
- * Remove override of default chromedriver behavior for chrome.detach (issue 2418)
837
-
838
- Firefox:
839
- * Rename wires to geckodriver
840
- * Change default usage from FirefoxDriver to geckodriver
841
-
842
- Safari:
843
- * Initial support for Apple's Safari Driver in Sierra (issue #2475)
844
-
845
- Android and iPhone:
846
- * Remove support for deprecated classes (Issue #2476)
847
-
848
- 2.53.0 (2016-03-15)
849
- ===================
850
-
851
- Ruby:
852
- * Removed dependency on "multi_json" (issue 1632)
853
- * Properly handle namespaces in install manifest of Firefox add-ons (issue 1143)
854
- * Improve error handling when stopping browsers (thanks bsedat)
855
- * Fix deselecting options in select lists (thanks glib-briia)
856
- * Fix w3c error handling
857
- * Update w3c Capabilities support
858
-
859
- IE:
860
- * support for alert credentials (issue #1698, thanks Alan Baird & trabulmonkee)
861
-
862
- 2.52.0 (2016-02-12)
863
- ===================
864
-
865
- No Ruby changes in this release.
866
-
867
- 2.51.0 (2016-02-05)
868
- ===================
869
-
870
- No Ruby changes in this release.
871
-
872
- 2.50.0 (2016-01-27)
873
- ===================
874
-
875
- Firefox:
876
- * Fix bug for locating binary in local path (issue 1523, thanks Gopal Patel)
877
-
878
- 2.49.0 (2016-01-13)
879
- ===================
880
-
881
- Ruby:
882
- * support for SessionNotCreatedError (thanks Alexander Bayandin)
883
-
884
- Safari:
885
- * Limit support to OS X (issue 1186)
886
- * support for multiple concurrent drivers
887
-
888
- PhantomJS:
889
- * Implement Socket locking
890
-
891
- IE:
892
- * support for multiple concurrent drivers
893
-
894
- Chrome:
895
- * prevent 404 error when shutting down Chrome service (thanks Fumiaki MATSUSHIMA)
896
- * logging turned on by default
897
- * support local storage capabilities
898
-
899
- Firefox:
900
- * support setting the location of Firefox binary to use when run locally
901
- * add default lookup of Homebrew Cask default directory (issue 1437)
902
-
903
- W3C Specification:
904
- * support for using with Remote WebDriver
905
- * implement window size command
906
- * implement window position command
907
- * implement element size command
908
- * implement element position command
909
- * implement full screen window command
910
- * implement page source command
911
-
912
- 2.48.1 (2015-10-13)
913
- ===================
914
-
915
- Firefox:
916
- * Mozilla's Wires Driver for Marionette works with Remote WebDriver
917
-
918
- 2.48.0 (2015-10-07)
919
- ===================
920
-
921
- Firefox:
922
- * Initial implementation of Mozilla's Wires Driver for Marionette; Supported in version 43 and higher
923
-
924
- Edge:
925
- * Fix execution with Remote Server
926
- * Fix Javascript Execution
927
- * Implement Alert Handling
928
- * Implement Window Switching
929
-
930
- Ruby:
931
- * Initial implementation of W3C WebDriver syntax to support Mozilla Wires
932
- * Change to RSpec expect syntax
933
- * Specs can be run from relative directories
934
-
935
-
936
- 2.47.1 (2015-07-31)
937
- ===================
938
-
939
- Edge:
940
- * Initial implementation of Microsoft's EdgeDriver
941
-
942
-
943
- 2.47.0 (2015-07-29)
944
- ===================
945
-
946
- Safari:
947
- * Remove support for installing additional extensions due to architectural changes introduced with Safari 7
948
-
949
- 2.46.2 (2015-06-05)
950
- ===================
951
- * Fix encoding issue which prevents Element#send_keys to work on Ruby < 2.0 (#621)
952
-
953
- 2.46.1 (2015-06-04)
954
- ===================
955
- * Fix aborted rubygems.org release
956
-
957
- 2.46.0 (2015-06-04)
958
- ===================
959
-
960
- Firefox:
961
- * Support for Firefox 38
962
- * Fix performance bug by not forcing garbage collection in httpd.js
963
-
964
- Chrome:
965
- * Fixed ChromeDriver port race condition (#449 - thanks Jason Anderson)
966
-
967
- Ruby changes:
968
- * Retry binding to ports unavailable by EADDRNOTAVAIL (#394).
969
- * Remove Presto-Opera support (Blink-based Opera still supported)
970
-
971
- 2.45.0 (2015-02-28)
972
- ===================
973
-
974
- Firefox:
975
- * Native events in Firefox relied on an API that Mozilla no longer
976
- provides. As such, fall back to synthesized events on recent Firefox
977
- versions.
978
-
979
- Ruby changes:
980
- * Allow switching windows when current window is closed (thanks Titus Fortner).
981
- * Add :javascript_enabled to Android capabilities.
982
-
983
- 2.44.0 (2014-10-05)
984
- ===================
985
-
986
- No Ruby changes in this release.
987
-
988
- Firefox:
989
- * Native event support for Firefox 24, 31, 32 and 33
990
-
991
- 2.43.0 (2014-09-09)
992
- ===================
993
-
994
- * Make sure UnhandledAlertErrors includes the alert text if provided by the driver.
995
- * Firefox
996
- - Make sure the browser process is properly killed if silent startup hangs (#7392)
997
- - native events support for Firefox 24, 31 and 32
998
- * Loosen websocket dependency to ~> 1.0
999
- * Add support for `switch_to.parent_frame` (thanks abotalov)
1000
- * Fix download location for Selenium::Server.{latest,get} (#7049 - thanks marekj)
1001
-
1002
- 2.42.0 (2014-05-23)
1003
- ===================
1004
-
1005
- Firefox:
1006
- * Fix for extensions whose install.rdf uses an attribute for em:id (#5978)
1007
- * Support for Firefox 29 Native Events
1008
-
1009
- 2.41.0 (2014-03-28)
1010
- ===================
1011
-
1012
- * Removed dead browser visibility methods.
1013
- * Firefox:
1014
- * Native events support for Firefox 28 (removed support for 26)
1015
-
1016
- 2.40.0 (2014-02-19)
1017
- ===================
1018
-
1019
- * Fix bug where FileReaper would not reap files added in a child process
1020
- * Document AbstractEventListener (#5994)
1021
- * Safari:
1022
- * Add Safari::Options + clean up Safari extension handling (#6382)
1023
- * Add support for user extensions (#6815)
1024
- * Firefox:
1025
- * Support native events for Firefox 27 + removed native event support for Firefox 25
1026
-
1027
- 2.39.0 (2013-12-17)
1028
- ===================
1029
-
1030
- * Firefox: Native events support for Firefox 26.
1031
- * Add deprecation warning to the Android driver.
1032
- * Make sure selenium/client doesn't require Rake (#6709)
1033
-
1034
- 2.38.0 (2013-12-05)
1035
- ===================
1036
-
1037
- * Enforce required Ruby version in gemspec, not just transitively through rubyzip.
1038
- * Expose the logging API (beta API, subject to change) in the Ruby client: driver.manage.logs #=> Selenium::WebDriver::Logs
1039
- * Update to support native events for Firefox 25
1040
-
1041
-
1042
- 2.37.0 (2013-10-18)
1043
- ===================
1044
-
1045
- * As of this version, selenium-webdriver no longer supports Ruby < 1.9.2
1046
- * Depend on rubyzip ~> 1.0.0
1047
- * Added SOCKS proxy support
1048
- * Fixed support for SVG documents in the atoms.
1049
- * Fixed computing an element's container dimensions to account for the scrollbar size when scrolling
1050
- * Added Capabilities.htmlunitwithjs
1051
-
1052
- Chrome:
1053
- * Pass through the prefs option as a Chrome capability (#5929).
1054
- Firefox:
1055
- * Updated Firefox native event components to support Firefox 24.
1056
- * New elementScrollBehavior capability.
1057
- * Fixed getLocation to work on scrolled pages.
1058
- * Fixed autoscrolling for elements located in frames.
1059
- * Fixed drag-n-drop for elements in frames with native events
1060
- IE:
1061
- * Use native events by default, also for remote IE (#4695)
1062
- Safari:
1063
- * Enable screenshots and input devices in the client.
1064
-
1065
- 2.35.1 (2013-08-26)
1066
- ===================
1067
-
1068
- * Depend on rubyzip < 1.0.0
1069
-
1070
- 2.35.0 (2013-08-14)
1071
- ===================
1072
-
1073
- Firefox:
1074
- * Updated Firefox native event components to support Firefox 23.
1075
-
1076
- 2.34.0 (2013-08-06)
1077
- ===================
1078
-
1079
- Remote:
1080
- * Add `Driver#remote_status` (remote driver only) (#5669)
1081
- Firefox:
1082
- * Updated Firefox native event components to support Firefox 22.
1083
- iPhone:
1084
- * The driver is now deprecated (see http://appium.io/ or http://ios-driver.github.io/ios-driver/ for a replacement)
1085
- Various:
1086
- * Updated our copy of the Closure compiler and library to the most
1087
- recent versions.
1088
- * Updated the atoms library, including support for MS pointer events
1089
- and refinements to element visibility tests.
1090
- * Update synthesized mouse implementation. Mouse moves are
1091
- implemented using nsIDOMWindowUtils.
1092
- * Added support for the HTML5 "hidden" attribute. If an element, or
1093
- ancestor, has hidden attribute make, it is not shown.
1094
-
1095
- 2.33.0 (2013-05-26)
1096
- ===================
1097
-
1098
- Remote:
1099
- * Support rotating devices, such as iPhone & iPad in simulator and Android browser in emulator
1100
- * Support for interacting with touch screen devices, such as iPhone & iPad in simulator and Android browser in emulator
1101
- * Improve error messages for invalid wire protocol responses
1102
- Chrome:
1103
- * Accept :service_log_path for Chrome. (#3475)
1104
- IE:
1105
- * IE >=9 versions triggerMouseEvent like other browsers (#2218).
1106
- Various:
1107
- * Element#text ignores elements in <head>
1108
-
1109
-
1110
- 2.32.1 (2013-04-11)
1111
- ===================
1112
-
1113
- Safari:
1114
- * Fix typo when encoding the Safari server redirect URL (#5472)
1115
-
1116
- 2.32.0 (2013-04-09)
1117
- ===================
1118
-
1119
- Safari:
1120
- * The Safari extension is now packaged with the gem and automatically installed (#5322)
1121
- * Improved detection of the binary location on 64-bit windows (#5273)
1122
- Opera:
1123
- * Allow passing :desired_capabailities (#5279)
1124
- Firefox:
1125
- * This release supports versions 10esr, 17esr, 19, 20.
1126
- * Improved SVG support
1127
- Other:
1128
- * Allow #click_and_hold without target (#5410).
1129
- * Remove assumptions about returned capabilities (for ios-driver)
1130
-
1131
- 2.31.0 (2013-03-02)
1132
- ===================
1133
-
1134
- Remote:
1135
- * Expose session_id on the remote driver when used directly (#5240).
1136
- Firefox:
1137
- * Native events in Firefox 19
1138
- Opera:
1139
- * Treat UNSPECIFIED proxy type as a nil proxy (#5081).
1140
- Other:
1141
- * Add ability to pass :desired_capabilities to all the Ruby drivers, not just for :remote.
1142
- Direct arguments take presendence. (#5078, see also https://github.com/SeleniumHQ/selenium/pull/8, https://github.com/SeleniumHQ/selenium/pull/11)
1143
-
1144
- 2.30.0 (2013-02-20)
1145
- ===================
1146
-
1147
- Firefox:
1148
- * Firefox 19 support (for synthesized events)
1149
- Remote:
1150
- * Pass along firefox_binary correctly (#5152)
1151
- Safari:
1152
- * Don't overwrite Driver#browser
1153
- Other
1154
- * Alert#text should raise on closed alert.
1155
-
1156
- 2.29.0 (2013-01-21)
1157
- ===================
1158
-
1159
- Firefox:
1160
- * Firefox 18 support (for native events).
1161
- IE:
1162
- * New 'requireWindowFocus' desired capability.
1163
- * IE view port calculation take scroll bars into account (#3602)
1164
- Safari:
1165
- * Replace 'libwebsocket' with 'websocket' gem. This should ensure
1166
- support with recent Safari.
1167
- Other:
1168
- * Fix Cygwin issue in PortProber/Firefox::Bianry (#4963)
1169
-
1170
- 2.27.2 (2012-12-11)
1171
- ===================
1172
-
1173
- Firefox:
1174
- * Fix for native events in v17 (packaging mistake)
1175
-
1176
- 2.27.1 (2012-12-07)
1177
- ===================
1178
-
1179
- Firefox:
1180
- * Fix "g[b] is not an object" error when passing null to execute_script.
1181
-
1182
- 2.27.0 (2012-12-06)
1183
- ===================
1184
-
1185
- Firefox:
1186
- * Support for Firefox 17.
1187
- IE:
1188
- * Path to the server executable can be specified (S::W::IE.path=)
1189
- Other:
1190
- * Added :phantomjs driver
1191
-
1192
- 2.26.0 (2012-11-02)
1193
- ===================
1194
-
1195
- Firefox:
1196
- * Added support for native events for Firefox 15 and 16.
1197
- * Modified FirefoxDriver to use atoms to switch between frames.
1198
- * FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox.
1199
- * FIXED: 4375: Executing javascript hangs Firefox.
1200
- * FIXED: 4165: WebDriver fails on a machine with no IP address.
1201
- Safari:
1202
- * Fixed SafariDriver to allow calling .quit() consecutively without error.
1203
- * FIXED: 4676: Unable to fire javascript events into SVG's.
1204
- * FIXED: 3969: SafariDriver should auto-dismiss alerts.
1205
- IE:
1206
- * FIXED: 4535: Hover still does not work perfectly in IE.
1207
- * FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box.
1208
-
1209
- 2.25.0 (2012-07-19)
1210
- ===================
1211
-
1212
- * Respect no_proxy / NO_PROXY env vars (#4007).
1213
- * Improve error message if a configured proxy refuses the connection.
1214
- * Ignored exception can be configured on the Wait class.
1215
- * Add Selenium::WebDriver::Support::Color class.
1216
- * Ignore Errno::ENETUNREACH when trying to detect our local IP (#4165).
1217
- * Ignore Errno::EADDRNOTAVAIL in PortProber (#3987).
1218
- * Firefox:
1219
- * Enumerate through client rects until finding one with non-zero dimensions when clicking.
1220
- * Updated supported versions of Firefox to 17.
1221
- * Allow windows to be resized from a frame (#3897).
1222
- * Fix an issue where a call to submit could hang the driver.
1223
- * IE:
1224
- * Ability to configure logging through the :log_file and :log_level options.
1225
- * Increasing stability of file upload dialog handling (#3858)
1226
- * Better handling of overflow edge cases when determining element visibility.
1227
-
1228
- 2.24.0 (2012-06-19)
1229
- ===================
1230
-
1231
- * bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584).
1232
- * CSS selectors now support compound selectors.
1233
- * IE:
1234
- * Failure to click on an element in the IE Driver will yield a more meaningful error.
1235
- * Crash on IE8 when S_FALSE is returned from get_Document (#4064)
1236
- * DLLs are no longer bundled with the gem, users must use the standalone server from now on.
1237
- * Firefox:
1238
- * Support for Firefox 13
1239
- * Ability to pass :proxy directly as Firefox option (no Profile needed).
1240
-
1241
- 2.22.2 (2012-06-05)
1242
- ===================
1243
-
1244
- * Improve method for determining the local IP (#3987).
1245
-
1246
- 2.22.1 (2012-06-01)
1247
- ===================
1248
-
1249
- * Fix for 1.8.7 behaviour of Socket.getaddrinfo.
1250
- * Automatically reap Firefox profile on exit, not just in #quit.
1251
-
1252
- 2.22.0 (2012-05-29)
1253
- ===================
1254
-
1255
- * Fix conflict with ActiveSupport's Object#load (#3819)
1256
- * IE:
1257
- * Default to standalone server executable, fall back to bundled DLLs.
1258
- * The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
1259
- * Firefox:
1260
- * Native events for Firefox 12.
1261
- * Native events retained for Firefox 3.x, 10 and 11.
1262
- * Fix for typing in Firefox 12
1263
- * Fix for typing on XHTML pages (#3647)
1264
- * Fix for maximizing windows when switched to a frame (#3758)
1265
- * Handle alerts from nested iframes (#3825)
1266
- * Remote:
1267
- * Honor HTTP_PROXY env vars (#3838).
1268
- * Element#attribute returns nil if a boolean attribute is not present.
1269
- * NoSuchWindowError will be thrown if the currently selected window is closed and another command is sent.
1270
- * Safari:
1271
- * support for frame switching, snapshot taking, execute script
1272
- * message protocol changed, not backwards compatible with 2.21.
1273
- * Style attributes are no longer lower-cased by default (#1089).
1274
- * Make sure the Ruby client kills Firefox even when the RPC fails.
1275
- * Make sure the Ruby client checks all network interfaces when finding free ports.
1276
-
1277
-
1278
- 2.21.2 (2012-04-18)
1279
- ===================
1280
-
1281
- * Check MultiJson.respond_to?, depend on ~> 1.0
1282
-
1283
- 2.21.1 (2012-04-16)
1284
- ===================
1285
-
1286
- * Set multi_json dependency to < 1.3 to avoid deprecation warnings.
1287
-
1288
- 2.21.0 (2012-04-11)
1289
- ===================
1290
-
1291
- * Add Selenium::WebDriver::Window#maximize (#3489)
1292
- * Safari:
1293
- * New driver! See https://github.com/SeleniumHQ/selenium/wiki/SafariDriver.
1294
- * Firefox:
1295
- * Significant stability improvements.
1296
- * Native events support for Firefox 11
1297
- * Dropped native events support for Firefox 4-9
1298
- * Window maximize implementation.
1299
- * IE:
1300
- * Ignore invisible dialogs (#3360).
1301
- * Window maximize implementation.
1302
- * Android:
1303
- * Accept SSL certificates (#3504).
1304
-
1305
- 2.20.0 (2012-02-28)
1306
- ===================
1307
-
1308
- * Loosen the multi_json and ffi dependencies (#3446)
1309
- * Firefox:
1310
- * Introduce a timeout for page loads. This needs to be used in
1311
- conjunction with the unstable page load detection. Exposed as
1312
- Timeouts#page_load=
1313
- * Scroll containing elements, not just windows (#3391).
1314
- * Element#{style => css_value}, with an alias for backwards compatibility.
1315
- * Atoms:
1316
- * Submit a form when the enter button is pressed in its input
1317
- element.
1318
- * Add a "mouse pixel scroll" event to the atoms events module.
1319
- * Adding a public "mouseOver" action and a little internal
1320
- refactoring around the mouseOver functionality.
1321
- * Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds.
1322
-
1323
- 2.19.0 (2012-02-08)
1324
- ===================
1325
-
1326
- * RC client supports server-side WebDriver-backed Selenium.
1327
- * Touch APIs implemented in the Ruby client (Android only)
1328
- * Firefox:
1329
- * Fix deserialization of user.js in Firefox::Profile
1330
- * Native events implemented for Firefox 10.
1331
- * Renamed the experimental "fast" page loaded strategy "unstable"
1332
- and disable queuing of commands when it's enabled.
1333
- * Disabled native events for Firefox 8 as it's deprecated by Mozilla.
1334
- * Fix for exceptions thrown when an alert occurs during script execution.
1335
- * Chrome:
1336
- * New download link for the server component:
1337
- http://code.google.com/p/chromedriver/downloads/list
1338
-
1339
- 2.18.0 (2012-01-27)
1340
- ===================
1341
-
1342
- * Fix for getting value attribute of option elements. (#3169)
1343
- * Firefox and IE:
1344
- * Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions.
1345
- * Firefox:
1346
- * Better handling of getText invocations on SVG elements.
1347
- * Fix for Element#click in Firefox 4. (#3253)
1348
- * Fixed bug when deserializing user.js in Firefox::Profile.
1349
- * Default profile preferences now read from shared JSON blob.
1350
- * Android and iPhone:
1351
- * Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation)
1352
- * Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage)
1353
- * iPhone:
1354
- * Server now supports frame switching (for frames in the same domain).
1355
-
1356
- 2.17.0 (2012-01-16)
1357
- ===================
1358
-
1359
- * Firefox:
1360
- * Fix excessive unwrapping when switching windows.
1361
- * Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile.
1362
- * Support up to version 12 with synthesized events.
1363
- * Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144)
1364
- * Chrome:
1365
- * Now accepts a :url option, pointing to an already running Chrome server.
1366
- * Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance).
1367
- * iPhone:
1368
- * iWebDriver will auto-play HTML5 video (#3152)
1369
- * Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169)
1370
-
1371
- 2.16.0 (2012-01-04)
1372
- ===================
1373
-
1374
- * Firefox:
1375
- * Native events support for Firefox 9
1376
- * Allow apps to use offline storage by default
1377
- * Fix excessive unwrapping when executing mouseMove
1378
- * Click in the middle, rather than the top-left of elements (#3034, #2700)
1379
- * IE:
1380
- * Raise StaleElementReferenceError when interacting with elements outside the currently focused frame
1381
- * Handle frames and iframes in showModalDialog windows
1382
- * Chrome:
1383
- * Improve client handling of invalid error responses
1384
- * iPhone:
1385
- * Updated to latest CocoaHTTPServer
1386
- * Remote:
1387
- * Improve performance of Element#== by only making an RPC when necessary.
1388
- * Disallow caching of GET requests
1389
- * Various:
1390
- * Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key
1391
- * Improve docs for Server, ActionBuilder and Window
1392
- * Update to latest Sizzle (used for :css selectors in older browsers)
1393
-
1394
- 2.15.0 (2011-12-08)
1395
- ===================
1396
-
1397
- * Firefox:
1398
- * Now supports up to Firefox 11 (for syntesized events)
1399
- * Implicit waits now change how long we wait for alerts. This
1400
- functionality will change in 2.16
1401
- * Fix scrolling issue (#2700)
1402
- * IE:
1403
- * Fix issue with getWindowHandles() and showModalDialog() (#1828)
1404
- * Add support for the window sizing and positioning API
1405
- * Make Platform.bitsize use the correct constant from FFI
1406
- * WebDriver internals:
1407
- * Atoms code contribution from Google
1408
- * Closure updated
1409
-
1410
-
1411
- 2.14.0 (2011-11-29)
1412
- ===================
1413
-
1414
- * Add Selenium::WebDriver::Support::Select class to ease working with select lists.
1415
- * Add Capabilities.ipad and Capabilities.iphone (#2895)
1416
- * Replace json_pure dependency with multi_json. (#2901)
1417
- * Don't leave sockets hanging in SYN_SENT state while polling.
1418
- * Allow selecting option elements even if the enclosing select has zero opacity.
1419
- * Exception renames (old names aliased and will still work in rescues):
1420
- * ObsoleteElementError -> StaleElementReferenceError
1421
- * UnhandledError -> UnknownError
1422
- * UnexpectedJavascriptError -> JavascriptError
1423
- * NoAlertOpenError -> NoAlertPresentError
1424
- * ElementNotDisplayedError -> ElementNotVisibleError
1425
- * Firefox:
1426
- * Fixed issue with scrolling on small viewports with native events.
1427
- * Fix CSS selector support in Firefox 3.0
1428
- * IE:
1429
- * Implement the window control API
1430
-
1431
- 2.13.0 (2011-11-18)
1432
- ===================
1433
-
1434
- * Firefox:
1435
- * Recovering from null window references in the Firefox driver (#1438)
1436
-
1437
- 2.12.2 (2011-11-13)
1438
- ===================
1439
-
1440
- * Firefox
1441
- * Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
1442
- * Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
1443
-
1444
- 2.12.1 (2011-11-11)
1445
- ===================
1446
-
1447
- * Fix regression when typing into contenteditable elements.
1448
-
1449
- 2.12.0 (2011-11-10)
1450
- ===================
1451
-
1452
- * Loosened the ffi dependency now that Windows support is back (#2755).
1453
- * Fix shutdown issues when using net-http-persistent against remote servers.
1454
- * Added beta window control API (see Selenium::WebDriver::Options#window).
1455
- * Firefox
1456
- * Support for Firefox 8.
1457
- * Better reporting of page size when attempting to move out of bounds.
1458
- * Beta implementation of window control.
1459
-
1460
- 2.11.0
1461
- ======
1462
-
1463
- (release skipped since it included only server-side changes)
1464
-
1465
- 2.10.0 (2011-10-27)
1466
- ===================
1467
-
1468
- * Improve native keyboard emulation on Windows.
1469
- * Allow commas in CSS selectors (#2301)
1470
- * Firefox:
1471
- * Fix intermittent error when finding elements by XPath (#2099)
1472
- * Fix detection of maximum page size (#2700)
1473
- * Avoid extension selection dialog (extensions.autoDisableScopes)
1474
- * Fix invalid wire responses from the synthetic mouse (#2695)
1475
- * Don't scroll unnecessarily (#1771).
1476
- * IE:
1477
- * Improve handling of #clear on disabled or readonly elements.
1478
-
1479
- 2.9.1 (2011-10-24)
1480
- ==================
1481
-
1482
- * Workaround for invalid error responses (#2695).
1483
-
1484
- 2.9.0 (2011-10-21)
1485
- ==================
1486
-
1487
- * Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles)
1488
- * New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError
1489
- * Implemented Chrome::Profile#add_extension
1490
- * Better respect for preformatted text in Element#text
1491
- * Reduced scrolling during tests for IE and Firefox.
1492
- * Firefox:
1493
- * Support for experimental page load detection.
1494
- * IE:
1495
- * Better detection of where to click on links (#2675).
1496
- * Improve handling of modal dialogs (showModalDialog).
1497
-
1498
- 2.8.0 (2011-10-06)
1499
- ==================
1500
-
1501
- * Firefox
1502
- - Avoid telemetry prompt on Firefox 7
1503
- - Allow parallel execution with native events on Linux (#1326)
1504
- - Added native events support for Firefox 7 on Linux/Windows
1505
- - Improve search for libX11 for native events on Linux (#384)
1506
- - Fix double click with native events
1507
- * Chrome
1508
- - Fail fast if the chromedriver server is not executable.
1509
- * IE
1510
- - Fix find_element bug (#2563)
1511
-
1512
-
1513
- 2.7.0 (2011-09-23)
1514
- ==================
1515
-
1516
- * Firefox
1517
- - no longer types in the URL bar (#2487)
1518
- - fixed native events click() issue when element is out of view
1519
- - double click + get no longer hangs firefox (#2456)
1520
- - make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
1521
- * IE
1522
- - fix event firing issue (#2516)
1523
- * Opera
1524
- - don't start the remote service if the driver is passed bad arguments
1525
-
1526
- 2.6.0 (2011-09-13)
1527
- ==================
1528
-
1529
- * Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows.
1530
- * Use correct default URL for the Android driver.
1531
- * Profile zipping now follows symlinks (#2416).
1532
- * Firefox
1533
- - Disable malware check
1534
- - Various #click improvements
1535
- - Don't scroll if element is already in view
1536
- * IE:
1537
- - improve scrolling to elements with 'overflow: scroll'
1538
- - properly trigger jQuery change events (#2207)
1539
- - improve handling of nested modal dialogs
1540
- * Opera:
1541
- - capabilities exposed as options to Selenium::WebDriver.for
1542
- * Various iPhone driver fixes (e.g. #1396)
1543
-
1544
- 2.5.0 (2011-08-23)
1545
- ==================
1546
-
1547
- * IE: support for double click and fix for clicks close to edge of window.
1548
- * Fix for clicking links that overflow into multiple lines (#1020).
1549
- * Correct initial cursor position when typing into text fields with Firefox 6.
1550
- * Native events support for Firefox 6 on Windows and Linux.
1551
- * Fix bug in Android::Bridge when no :http_client option was passed.
1552
- * Set chrome.detach to tell chromedriver to leave browser running on exit.
1553
-
1554
- 2.4.0 (2011-08-11)
1555
- ==================
1556
-
1557
- * Firefox 6 support.
1558
- * Raise in switch_to.alert when no alert is present.
1559
- * Improved handling of non-breaking spaces for Element#text.
1560
-
1561
- 2.3.2 (2011-08-01)
1562
- ==================
1563
-
1564
- * Re-releasing since 2.3.1 was a buggy build.
1565
-
1566
- 2.3.1 (2011-08-01)
1567
- ==================
1568
-
1569
- * Fix bug where Firefox would hang if Firefox::Profile#log_file= was set.
1570
-
1571
- 2.3.0 (2011-08-01)
1572
- ==================
1573
-
1574
- * Add Selenium::WebDriver::Chrome::Profile
1575
- * Better detection of clickable areas in Firefox.
1576
- * Merge of Google-contributed code into the underlying Atoms.
1577
- * IE click issue fixed (#1650)
1578
- * No longer raise in Element#inspect if the element is obsolete.
1579
-
1580
-
1581
- 2.2.0 (2011-07-26)
1582
- ==================
1583
-
1584
- * Add ability to listen for WebDriver events
1585
- * Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425)
1586
- * Various atoms fixes
1587
- * Element equality now works properly with the remote server (#251).
1588
-
1589
- 2.1.0 (2011-07-18)
1590
- ==================
1591
-
1592
- * Various improvments to the IE driver (#2049, #1870)
1593
- * Atoms fixes (#1776, #1972).
1594
- * Synthetic mouse clicks do not propagate errors in onmouseover.
1595
-
1596
- 2.0.1 (2011-07-11)
1597
- ==================
1598
-
1599
- * Make sure at_exit hooks aren't inherited by child processes.
1600
-
1601
- 2.0.0 (2011-07-08)
1602
- ==================
1603
-
1604
- * Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}.
1605
- * Add ability to pass :verbose, :native_events to the Chrome driver.
1606
- * Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events.
1607
- * Added Selenium::WebDriver::Opera (requires the remote server).
1608
- * Fix for locating Firefox on 64-bit Windows when missing from the registry.
1609
- * Fix native events on Firefox 4, 5.
1610
-
1611
- 0.2.2 (2011-06-22)
1612
- ==================
1613
-
1614
- * Deprecate Element#{toggle,select,drag_and_drop_*}
1615
- * Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
1616
- * Fix argument names in Mouse#move_to and Mouse#move_by.
1617
- * Support Firefox 5
1618
- * Chrome and Firefox drivers now includes the HasInputDevices module.
1619
- * Selenium::Rake::ServerTask now works with Rake 0.9.
1620
-
1621
- 0.2.1 (2011-06-01)
1622
- ==================
1623
-
1624
- * Allow passing custom command line switches to Chrome (requires today's release of the Chrome server)
1625
- * Avoid mutating arguments to find_element (issue #1273).
1626
- * Avoid conflicts when SUT modifies Array.prototype
1627
- * Allow setting arbitrary capabilities by adding Capabilities#[]=
1628
- * The Chrome driver is extended with TakesScreenshot.
1629
- * IE driver detects bad protected mode settings.
1630
- * Firefox driver no longer considers opacity when determining visibility.
1631
- * Fix for ActionBuilder#move_by.
1632
- * Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611).
1633
- * Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller).
1634
- * Various internal driver improvements.
1635
-
1636
- 0.2.0 (2011-04-22)
1637
- ==================
1638
-
1639
- * Update Ruby bindings to use the rewritten Chrome driver (see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver).
1640
- * Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead).
1641
- * Change the default timeout for Wait instances to 5 seconds.
1642
- * Fix bug where locators would fail if Object.prototype had been modified.
1643
- * Various IE fixes
1644
- - Issues: #698, #1444
1645
- - Improved handling of showModalDialog()
1646
- - Full-size screenshots
1647
- * Allow users to override the dom.max_script_run_time preference in Firefox.
1648
- * Removed DesiredCapabilities.safari, which was never supported anyway.
1649
- * Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath.
1650
- * Print warnings for deprecated constants in the RC client:
1651
- - Selenium::SeleniumDriver => Selenium::Client::Driver
1652
- - Selenium::CommandError => Selenium::Client::CommandError
1653
- * Removed top-level constants:
1654
- - SeleniumHelper (available as Selenium::Client::SeleniumHelper)
1655
- - SeleniumCommandError (available as Selenium::Client::CommandError)
1656
-
1657
- 0.1.4 (2011-03-21)
1658
- ==================
1659
-
1660
- * Support for Firefox 4.
1661
- * Search PATH for Firefox / Chrome on OS X as well.
1662
- * Bump dependencies for ffi and childprocess (#1356).
1663
- * Find module renamed to SearchContext
1664
- * Deprecated methods Driver#hover and Options#{speed,speed=} removed.
1665
- * Improve IE driver stability, IE9 support
1666
- * Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers.
1667
- * Added Driver#execute_async_script
1668
- * Some WebDriver exception classes have been renamed to match its Java equivalents:
1669
- ElementNotEnabledError -> InvalidElementStateError
1670
- UnknownScriptResultError -> XpathLookupError
1671
- * Fix bug where Element#disabled? would alternate between true/false (r11438)
1672
-
1673
- 0.1.3 (2011-02-14)
1674
- ==================
1675
-
1676
- * Several crashing bugs fixed in the IE driver.
1677
- * Alert API available through the remote driver.
1678
- * Driver#refresh fixed in the IE driver.
1679
- * Fixed paths for IE DLLs on Cygwin.
1680
- * Screenshot support in the IE and Remote drivers.
1681
- * Fix #1152 by avoiding IPv6 loopback.
1682
- * Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment).
1683
- * Automation atoms now used extensively in the IE driver.
1684
- * Firefox::Bridge is now easier to extend (i.e. with a custom launcher).
1685
- * Add S::W::Remote::Http::Persistent (currently only usable with the remote server).
1686
- * IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients.
1687
- * :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes.
1688
- * IE driver now supports launching multiple instances of the browser.
1689
- * Remove some Ruby warnings (uninitialized ivars, URI.escape).
1690
-
1691
-
1692
- 0.1.2 (2010-12-22)
1693
- ==================
1694
-
1695
- * Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968)
1696
- * IE driver rewrite landed.
1697
- * Initial support for alerts/prompts (in Firefox).
1698
- * Cygwin support.
1699
- * Driver#execute_script now properly wraps elements inside Hashes.
1700
- * Various fixes for Firefox 4.
1701
-
1702
- 0.1.1 (2010-11-29)
1703
- ==================
1704
-
1705
- * Fix for Chrome.path=
1706
- * Remote drivers always add Content-Length for POST requests (thanks joshuachisholm)
1707
- * Fix for JS execution bug in the IE driver
1708
- * Add ability to specify a proxy on the Http::Default client.
1709
- * The remote drivers' :http_client argument now take a configured instance.
1710
-
1711
- 0.1.0 (2010-11-11)
1712
- ===================
1713
-
1714
- * selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client").
1715
- * Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver.
1716
- * Tweaked Firefox profile preferences, improve logging, disabled crash reporter.
1717
- * Reap Firefox profiles on close, not just on exit.
1718
- * Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar.
1719
- * Various Firefox driver improvements (GC race conditions ++).
1720
- * IE::Bridge#initialize now takes an options hash like the other bridges.
1721
- * Added basic iPhone and Android driver classes.
1722
- * Firefox driver now works on FreeBSD.
1723
-
1724
-
1725
- 0.0.29 (2010-10-09)
1726
- ===================
1727
-
1728
- * Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree).
1729
- * Element#attribute(attribute) now returns "false" instead of nil.
1730
- * Firefox::Profile instances can now be reused for multiple drivers.
1731
- * Redirect Firefox console logs to a file with Firefox::Profile.log_file=
1732
- * Added a simple Wait class, based on WebDriverWait in Java.
1733
- * Search PATH for Firefox executable on Windows also.
1734
- * Added Capabilities.android
1735
- * Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string)
1736
- * CSS selector support in the remote driver
1737
- * CSS selector support for IE (using querySelector when available, Sizzle elsewhere)
1738
- * CSS selector support for older versions of Firefox (through Sizzle)
1739
- * Cookie expiration dates are now handled correctly (#730)
1740
- * Make Driver#bridge private, since this seems to be a common cause of confusion.
1741
- * Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/)
1742
- * User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path"
1743
- * Added "chromium" as a possible name for the Chrome binary (#769)
1744
- * Correctly set the HTTP client timeout (#768)
1745
- * switch_to.window with block now handles exceptions and non-local returns.
1746
- * switch_to.window with block returns the result of the block.
1747
- * Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess
1748
-
1749
-
1750
- 0.0.28 (2010-08-23)
1751
- ===================
1752
-
1753
- * Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote).
1754
- * Include remote server backtrace in raised errors (if available).
1755
- * Chrome: Untrusted certificate support.
1756
- * IE: Fix NoMethodError when getElementAttribute returns nil.
1757
- * Driver#[] shorthand can take a locator hash, not just an id string.
1758
-
1759
- 0.0.27 (2010-07-22)
1760
- ===================
1761
-
1762
- * Fixes for Element#attribute on IE / Firefox
1763
-
1764
- 0.0.26 (2010-07-19)
1765
- ===================
1766
-
1767
- * Work around Curb issue: http://github.com/taf2/curb/issues/issue/40
1768
-
1769
- 0.0.25 (2010-07-19)
1770
- ===================
1771
-
1772
- * Prevent Firefox from launching in offline mode (issue #587).
1773
- * Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path=
1774
- * Add ability to install Firefox XPIs through Profile#add_extension.
1775
- * Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency.
1776
- * Remote client supports HTTPS (issue #613 - thanks kkaempf).
1777
- * Fix error message for TimeOutError in the IE driver (issue #602)
1778
- * Add ability to use Chrome's default profile.
1779
- * Fix for frame behaviour in Chrome (issue #273).
1780
- * Standard gem directory structure (issue #475).
1781
-
1782
- 0.0.24 (2010-06-17)
1783
- ==================
1784
-
1785
- * Fix issues with quitting Firefox/Chrome on Windows + MRI.
1786
-
1787
-
1788
- 0.0.23 (2010-06-15)
1789
- ===================
1790
-
1791
- * Improved the HTTP clients:
1792
- - hopefully fix some occasional socket errors on Windows
1793
- - rescue error on driver.close() with curb
1794
-
1795
- 0.0.22 (2010-06-11)
1796
- ===================
1797
-
1798
- * Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests.
1799
- * Minor doc fix
1800
- * Add ability to set timeout for HTTP clients
1801
-
1802
- 0.0.21 (2010-06-11)
1803
- ===================
1804
-
1805
- * User can specify :http_client for the Firefox driver.
1806
- * Refactor HTTP client code
1807
- * Add Remote::Http::Curb as an alternative to the default (net/http) client.
1808
-
1809
-
1810
- 0.0.20 (2010-06-03)
1811
- ===================
1812
-
1813
- * Fix bug where Firefox would hang on quit().
1814
-
1815
- 0.0.19 (2010-05-31)
1816
- ===================
1817
-
1818
- * Add a max redirect check to the remote driver
1819
- * Add Firefox::Profile#assume_untrusted_certificate_issuer=
1820
- * Add implicit waits (Selenium::WebDriver::Timeouts)
1821
- * at_exit hook to clean temporary profiles
1822
- * Fix for Errno::ECONNABORTED errors on Windows
1823
- * Fix issue where Firefox::Profile#secure_ssl= would have no effect
1824
- * Fix issue where locating elements by :css would fail in the Chrome driver.
1825
- * IE driver now works on 64-bit rubies.