selenium-webdriver 4.0.0.alpha3 → 4.0.0.beta1

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 (269) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +160 -5
  3. data/LICENSE +1 -1
  4. data/README.md +4 -5
  5. data/lib/selenium/server.rb +19 -27
  6. data/lib/selenium/webdriver.rb +3 -3
  7. data/lib/selenium/webdriver/atoms/findElements.js +123 -0
  8. data/lib/selenium/webdriver/atoms/getAttribute.js +104 -7
  9. data/lib/selenium/webdriver/atoms/isDisplayed.js +76 -78
  10. data/lib/selenium/webdriver/atoms/mutationListener.js +38 -0
  11. data/lib/selenium/webdriver/chrome.rb +4 -2
  12. data/lib/selenium/webdriver/chrome/bridge.rb +4 -6
  13. data/lib/selenium/webdriver/chrome/driver.rb +19 -17
  14. data/lib/selenium/webdriver/chrome/features.rb +66 -0
  15. data/lib/selenium/webdriver/chrome/options.rb +55 -38
  16. data/lib/selenium/webdriver/chrome/profile.rb +1 -1
  17. data/lib/selenium/webdriver/chrome/service.rb +1 -5
  18. data/lib/selenium/webdriver/common.rb +7 -2
  19. data/lib/selenium/webdriver/common/driver.rb +84 -21
  20. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
  21. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +38 -0
  22. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
  23. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +149 -0
  24. data/lib/selenium/webdriver/{edge_chrome/bridge.rb → common/driver_extensions/has_logs.rb} +7 -7
  25. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +4 -27
  26. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +1 -0
  27. data/lib/selenium/webdriver/common/driver_extensions/prints_page.rb +32 -0
  28. data/lib/selenium/webdriver/common/element.rb +5 -0
  29. data/lib/selenium/webdriver/common/logger.rb +48 -16
  30. data/lib/selenium/webdriver/common/manager.rb +11 -1
  31. data/lib/selenium/webdriver/common/options.rb +53 -12
  32. data/lib/selenium/webdriver/common/platform.rb +6 -1
  33. data/lib/selenium/webdriver/common/port_prober.rb +4 -6
  34. data/lib/selenium/webdriver/common/proxy.rb +0 -0
  35. data/lib/selenium/webdriver/common/search_context.rb +3 -2
  36. data/lib/selenium/webdriver/common/service.rb +12 -127
  37. data/lib/selenium/webdriver/common/service_manager.rb +151 -0
  38. data/lib/selenium/webdriver/common/socket_lock.rb +2 -2
  39. data/lib/selenium/webdriver/common/takes_screenshot.rb +63 -0
  40. data/lib/selenium/webdriver/common/target_locator.rb +4 -4
  41. data/lib/selenium/webdriver/common/wait.rb +1 -1
  42. data/lib/selenium/webdriver/devtools.rb +135 -0
  43. data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
  44. data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
  45. data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
  46. data/lib/selenium/webdriver/devtools/v85/accessibility.rb +64 -0
  47. data/lib/selenium/webdriver/devtools/v85/animation.rb +100 -0
  48. data/lib/selenium/webdriver/devtools/v85/application_cache.rb +66 -0
  49. data/lib/selenium/webdriver/devtools/v85/audits.rb +63 -0
  50. data/lib/selenium/webdriver/devtools/v85/background_service.rb +69 -0
  51. data/lib/selenium/webdriver/devtools/v85/browser.rb +125 -0
  52. data/lib/selenium/webdriver/devtools/v85/cache_storage.rb +75 -0
  53. data/lib/selenium/webdriver/devtools/v85/cast.rb +72 -0
  54. data/lib/selenium/webdriver/devtools/v85/console.rb +59 -0
  55. data/lib/selenium/webdriver/devtools/v85/css.rb +167 -0
  56. data/lib/selenium/webdriver/devtools/v85/database.rb +66 -0
  57. data/lib/selenium/webdriver/devtools/v85/debugger.rb +231 -0
  58. data/lib/selenium/webdriver/devtools/v85/device_orientation.rb +55 -0
  59. data/lib/selenium/webdriver/devtools/v85/dom.rb +322 -0
  60. data/lib/selenium/webdriver/devtools/v85/dom_debugger.rb +95 -0
  61. data/lib/selenium/webdriver/devtools/v85/dom_snapshot.rb +67 -0
  62. data/lib/selenium/webdriver/devtools/v85/dom_storage.rb +81 -0
  63. data/lib/selenium/webdriver/devtools/v85/emulation.rb +182 -0
  64. data/lib/selenium/webdriver/devtools/v85/fetch.rb +99 -0
  65. data/lib/selenium/webdriver/devtools/v85/headless_experimental.rb +63 -0
  66. data/lib/selenium/webdriver/devtools/v85/heap_profiler.rb +109 -0
  67. data/lib/selenium/webdriver/devtools/v85/indexed_db.rb +102 -0
  68. data/lib/selenium/webdriver/devtools/v85/input.rb +143 -0
  69. data/lib/selenium/webdriver/devtools/v85/inspector.rb +57 -0
  70. data/lib/selenium/webdriver/devtools/v85/io.rb +61 -0
  71. data/lib/selenium/webdriver/devtools/v85/layer_tree.rb +97 -0
  72. data/lib/selenium/webdriver/devtools/v85/log.rb +68 -0
  73. data/lib/selenium/webdriver/devtools/v85/media.rb +59 -0
  74. data/lib/selenium/webdriver/devtools/v85/memory.rb +88 -0
  75. data/lib/selenium/webdriver/devtools/v85/network.rb +230 -0
  76. data/lib/selenium/webdriver/devtools/v85/overlay.rb +160 -0
  77. data/lib/selenium/webdriver/devtools/v85/page.rb +376 -0
  78. data/lib/selenium/webdriver/devtools/v85/performance.rb +65 -0
  79. data/lib/selenium/webdriver/devtools/v85/profiler.rb +113 -0
  80. data/lib/selenium/webdriver/devtools/v85/runtime.rb +196 -0
  81. data/lib/selenium/webdriver/devtools/v85/schema.rb +48 -0
  82. data/lib/selenium/webdriver/devtools/v85/security.rb +73 -0
  83. data/lib/selenium/webdriver/devtools/v85/service_worker.rb +118 -0
  84. data/lib/selenium/webdriver/devtools/v85/storage.rb +97 -0
  85. data/lib/selenium/webdriver/devtools/v85/system_info.rb +52 -0
  86. data/lib/selenium/webdriver/devtools/v85/target.rb +145 -0
  87. data/lib/selenium/webdriver/devtools/v85/tethering.rb +57 -0
  88. data/lib/selenium/webdriver/devtools/v85/tracing.rb +78 -0
  89. data/lib/selenium/webdriver/devtools/v85/web_audio.rb +72 -0
  90. data/lib/selenium/webdriver/devtools/v85/web_authn.rb +96 -0
  91. data/lib/selenium/webdriver/devtools/v86/accessibility.rb +64 -0
  92. data/lib/selenium/webdriver/devtools/v86/animation.rb +100 -0
  93. data/lib/selenium/webdriver/devtools/v86/application_cache.rb +66 -0
  94. data/lib/selenium/webdriver/devtools/v86/audits.rb +63 -0
  95. data/lib/selenium/webdriver/devtools/v86/background_service.rb +69 -0
  96. data/lib/selenium/webdriver/devtools/v86/browser.rb +125 -0
  97. data/lib/selenium/webdriver/devtools/v86/cache_storage.rb +75 -0
  98. data/lib/selenium/webdriver/devtools/v86/cast.rb +72 -0
  99. data/lib/selenium/webdriver/devtools/v86/console.rb +59 -0
  100. data/lib/selenium/webdriver/devtools/v86/css.rb +181 -0
  101. data/lib/selenium/webdriver/devtools/v86/database.rb +66 -0
  102. data/lib/selenium/webdriver/devtools/v86/debugger.rb +233 -0
  103. data/lib/selenium/webdriver/devtools/v86/device_orientation.rb +55 -0
  104. data/lib/selenium/webdriver/devtools/v86/dom.rb +329 -0
  105. data/lib/selenium/webdriver/devtools/v86/dom_debugger.rb +95 -0
  106. data/lib/selenium/webdriver/devtools/v86/dom_snapshot.rb +67 -0
  107. data/lib/selenium/webdriver/devtools/v86/dom_storage.rb +81 -0
  108. data/lib/selenium/webdriver/devtools/v86/emulation.rb +193 -0
  109. data/lib/selenium/webdriver/devtools/v86/fetch.rb +99 -0
  110. data/lib/selenium/webdriver/devtools/v86/headless_experimental.rb +63 -0
  111. data/lib/selenium/webdriver/devtools/v86/heap_profiler.rb +109 -0
  112. data/lib/selenium/webdriver/devtools/v86/indexed_db.rb +102 -0
  113. data/lib/selenium/webdriver/devtools/v86/input.rb +143 -0
  114. data/lib/selenium/webdriver/devtools/v86/inspector.rb +57 -0
  115. data/lib/selenium/webdriver/devtools/v86/io.rb +61 -0
  116. data/lib/selenium/webdriver/devtools/v86/layer_tree.rb +97 -0
  117. data/lib/selenium/webdriver/devtools/v86/log.rb +68 -0
  118. data/lib/selenium/webdriver/devtools/v86/media.rb +59 -0
  119. data/lib/selenium/webdriver/devtools/v86/memory.rb +88 -0
  120. data/lib/selenium/webdriver/devtools/v86/network.rb +235 -0
  121. data/lib/selenium/webdriver/devtools/v86/overlay.rb +183 -0
  122. data/lib/selenium/webdriver/devtools/v86/page.rb +376 -0
  123. data/lib/selenium/webdriver/devtools/v86/performance.rb +65 -0
  124. data/lib/selenium/webdriver/devtools/v86/profiler.rb +113 -0
  125. data/lib/selenium/webdriver/devtools/v86/runtime.rb +196 -0
  126. data/lib/selenium/webdriver/devtools/v86/schema.rb +48 -0
  127. data/lib/selenium/webdriver/devtools/v86/security.rb +73 -0
  128. data/lib/selenium/webdriver/devtools/v86/service_worker.rb +118 -0
  129. data/lib/selenium/webdriver/devtools/v86/storage.rb +97 -0
  130. data/lib/selenium/webdriver/devtools/v86/system_info.rb +52 -0
  131. data/lib/selenium/webdriver/devtools/v86/target.rb +145 -0
  132. data/lib/selenium/webdriver/devtools/v86/tethering.rb +57 -0
  133. data/lib/selenium/webdriver/devtools/v86/tracing.rb +78 -0
  134. data/lib/selenium/webdriver/devtools/v86/web_audio.rb +72 -0
  135. data/lib/selenium/webdriver/devtools/v86/web_authn.rb +102 -0
  136. data/lib/selenium/webdriver/devtools/v87/accessibility.rb +73 -0
  137. data/lib/selenium/webdriver/devtools/v87/animation.rb +100 -0
  138. data/lib/selenium/webdriver/devtools/v87/application_cache.rb +66 -0
  139. data/lib/selenium/webdriver/devtools/v87/audits.rb +63 -0
  140. data/lib/selenium/webdriver/devtools/v87/background_service.rb +69 -0
  141. data/lib/selenium/webdriver/devtools/v87/browser.rb +125 -0
  142. data/lib/selenium/webdriver/devtools/v87/cache_storage.rb +75 -0
  143. data/lib/selenium/webdriver/devtools/v87/cast.rb +72 -0
  144. data/lib/selenium/webdriver/{edge_html/driver.rb → devtools/v87/console.rb} +36 -30
  145. data/lib/selenium/webdriver/devtools/v87/css.rb +181 -0
  146. data/lib/selenium/webdriver/devtools/v87/database.rb +66 -0
  147. data/lib/selenium/webdriver/devtools/v87/debugger.rb +233 -0
  148. data/lib/selenium/webdriver/devtools/v87/device_orientation.rb +55 -0
  149. data/lib/selenium/webdriver/devtools/v87/dom.rb +329 -0
  150. data/lib/selenium/webdriver/devtools/v87/dom_debugger.rb +95 -0
  151. data/lib/selenium/webdriver/devtools/v87/dom_snapshot.rb +67 -0
  152. data/lib/selenium/webdriver/devtools/v87/dom_storage.rb +81 -0
  153. data/lib/selenium/webdriver/devtools/v87/emulation.rb +193 -0
  154. data/lib/selenium/webdriver/devtools/v87/fetch.rb +99 -0
  155. data/lib/selenium/webdriver/devtools/v87/headless_experimental.rb +63 -0
  156. data/lib/selenium/webdriver/devtools/v87/heap_profiler.rb +109 -0
  157. data/lib/selenium/webdriver/devtools/v87/indexed_db.rb +102 -0
  158. data/lib/selenium/webdriver/devtools/v87/input.rb +143 -0
  159. data/lib/selenium/webdriver/devtools/v87/inspector.rb +57 -0
  160. data/lib/selenium/webdriver/devtools/v87/io.rb +61 -0
  161. data/lib/selenium/webdriver/devtools/v87/layer_tree.rb +97 -0
  162. data/lib/selenium/webdriver/devtools/v87/log.rb +68 -0
  163. data/lib/selenium/webdriver/devtools/v87/media.rb +59 -0
  164. data/lib/selenium/webdriver/devtools/v87/memory.rb +88 -0
  165. data/lib/selenium/webdriver/devtools/v87/network.rb +247 -0
  166. data/lib/selenium/webdriver/devtools/v87/overlay.rb +183 -0
  167. data/lib/selenium/webdriver/devtools/v87/page.rb +376 -0
  168. data/lib/selenium/webdriver/devtools/v87/performance.rb +65 -0
  169. data/lib/selenium/webdriver/devtools/v87/profiler.rb +125 -0
  170. data/lib/selenium/webdriver/devtools/v87/runtime.rb +196 -0
  171. data/lib/selenium/webdriver/devtools/v87/schema.rb +48 -0
  172. data/lib/selenium/webdriver/devtools/v87/security.rb +73 -0
  173. data/lib/selenium/webdriver/devtools/v87/service_worker.rb +118 -0
  174. data/lib/selenium/webdriver/devtools/v87/storage.rb +97 -0
  175. data/lib/selenium/webdriver/devtools/v87/system_info.rb +52 -0
  176. data/lib/selenium/webdriver/devtools/v87/target.rb +145 -0
  177. data/lib/selenium/webdriver/devtools/v87/tethering.rb +57 -0
  178. data/lib/selenium/webdriver/devtools/v87/tracing.rb +78 -0
  179. data/lib/selenium/webdriver/devtools/v87/web_audio.rb +72 -0
  180. data/lib/selenium/webdriver/devtools/v87/web_authn.rb +102 -0
  181. data/lib/selenium/webdriver/devtools/v88/accessibility.rb +73 -0
  182. data/lib/selenium/webdriver/devtools/v88/animation.rb +100 -0
  183. data/lib/selenium/webdriver/devtools/v88/application_cache.rb +66 -0
  184. data/lib/selenium/webdriver/devtools/v88/audits.rb +63 -0
  185. data/lib/selenium/webdriver/devtools/v88/background_service.rb +69 -0
  186. data/lib/selenium/webdriver/devtools/v88/browser.rb +130 -0
  187. data/lib/selenium/webdriver/devtools/v88/cache_storage.rb +75 -0
  188. data/lib/selenium/webdriver/devtools/v88/cast.rb +72 -0
  189. data/lib/selenium/webdriver/devtools/v88/console.rb +59 -0
  190. data/lib/selenium/webdriver/devtools/v88/css.rb +181 -0
  191. data/lib/selenium/webdriver/devtools/v88/database.rb +66 -0
  192. data/lib/selenium/webdriver/devtools/v88/debugger.rb +233 -0
  193. data/lib/selenium/webdriver/devtools/v88/device_orientation.rb +55 -0
  194. data/lib/selenium/webdriver/devtools/v88/dom.rb +329 -0
  195. data/lib/selenium/webdriver/devtools/v88/dom_debugger.rb +95 -0
  196. data/lib/selenium/webdriver/devtools/v88/dom_snapshot.rb +67 -0
  197. data/lib/selenium/webdriver/devtools/v88/dom_storage.rb +81 -0
  198. data/lib/selenium/webdriver/devtools/v88/emulation.rb +198 -0
  199. data/lib/selenium/webdriver/devtools/v88/fetch.rb +99 -0
  200. data/lib/selenium/webdriver/devtools/v88/headless_experimental.rb +63 -0
  201. data/lib/selenium/webdriver/devtools/v88/heap_profiler.rb +109 -0
  202. data/lib/selenium/webdriver/devtools/v88/indexed_db.rb +102 -0
  203. data/lib/selenium/webdriver/devtools/v88/input.rb +148 -0
  204. data/lib/selenium/webdriver/devtools/v88/inspector.rb +57 -0
  205. data/lib/selenium/webdriver/devtools/v88/io.rb +61 -0
  206. data/lib/selenium/webdriver/devtools/v88/layer_tree.rb +97 -0
  207. data/lib/selenium/webdriver/devtools/v88/log.rb +68 -0
  208. data/lib/selenium/webdriver/devtools/v88/media.rb +59 -0
  209. data/lib/selenium/webdriver/devtools/v88/memory.rb +88 -0
  210. data/lib/selenium/webdriver/devtools/v88/network.rb +247 -0
  211. data/lib/selenium/webdriver/devtools/v88/overlay.rb +183 -0
  212. data/lib/selenium/webdriver/devtools/v88/page.rb +376 -0
  213. data/lib/selenium/webdriver/devtools/v88/performance.rb +65 -0
  214. data/lib/selenium/webdriver/devtools/v88/profiler.rb +125 -0
  215. data/lib/selenium/webdriver/devtools/v88/runtime.rb +197 -0
  216. data/lib/selenium/webdriver/devtools/v88/schema.rb +48 -0
  217. data/lib/selenium/webdriver/devtools/v88/security.rb +73 -0
  218. data/lib/selenium/webdriver/devtools/v88/service_worker.rb +118 -0
  219. data/lib/selenium/webdriver/devtools/v88/storage.rb +103 -0
  220. data/lib/selenium/webdriver/devtools/v88/system_info.rb +52 -0
  221. data/lib/selenium/webdriver/devtools/v88/target.rb +145 -0
  222. data/lib/selenium/webdriver/devtools/v88/tethering.rb +57 -0
  223. data/lib/selenium/webdriver/devtools/v88/tracing.rb +79 -0
  224. data/lib/selenium/webdriver/devtools/v88/web_audio.rb +72 -0
  225. data/lib/selenium/webdriver/devtools/v88/web_authn.rb +102 -0
  226. data/lib/selenium/webdriver/edge.rb +7 -27
  227. data/lib/selenium/webdriver/edge/bridge.rb +37 -0
  228. data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +14 -4
  229. data/lib/selenium/webdriver/edge/features.rb +39 -0
  230. data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +12 -3
  231. data/lib/selenium/webdriver/{edge_chrome → edge}/profile.rb +2 -2
  232. data/lib/selenium/webdriver/{edge_chrome → edge}/service.rb +2 -6
  233. data/lib/selenium/webdriver/firefox.rb +10 -4
  234. data/lib/selenium/webdriver/firefox/bridge.rb +1 -1
  235. data/lib/selenium/webdriver/firefox/driver.rb +14 -14
  236. data/lib/selenium/webdriver/firefox/features.rb +47 -0
  237. data/lib/selenium/webdriver/firefox/options.rb +26 -29
  238. data/lib/selenium/webdriver/firefox/profile.rb +13 -76
  239. data/lib/selenium/webdriver/firefox/service.rb +1 -5
  240. data/lib/selenium/webdriver/ie.rb +4 -2
  241. data/lib/selenium/webdriver/ie/driver.rb +0 -16
  242. data/lib/selenium/webdriver/ie/options.rb +7 -20
  243. data/lib/selenium/webdriver/ie/service.rb +6 -10
  244. data/lib/selenium/webdriver/remote/bridge.rb +43 -67
  245. data/lib/selenium/webdriver/remote/capabilities.rb +13 -19
  246. data/lib/selenium/webdriver/remote/commands.rb +1 -0
  247. data/lib/selenium/webdriver/remote/driver.rb +10 -12
  248. data/lib/selenium/webdriver/remote/http/default.rb +6 -7
  249. data/lib/selenium/webdriver/remote/http/persistent.rb +6 -0
  250. data/lib/selenium/webdriver/safari.rb +11 -2
  251. data/lib/selenium/webdriver/safari/bridge.rb +1 -1
  252. data/lib/selenium/webdriver/safari/driver.rb +4 -17
  253. data/lib/selenium/webdriver/{common/driver_extensions/rotatable.rb → safari/features.rb} +26 -36
  254. data/lib/selenium/webdriver/safari/options.rb +1 -33
  255. data/lib/selenium/webdriver/safari/service.rb +0 -4
  256. data/lib/selenium/webdriver/support.rb +1 -0
  257. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
  258. data/lib/selenium/webdriver/support/color.rb +2 -2
  259. data/lib/selenium/webdriver/support/event_firing_bridge.rb +2 -2
  260. data/lib/selenium/webdriver/support/relative_locator.rb +51 -0
  261. data/lib/selenium/webdriver/version.rb +1 -1
  262. data/selenium-webdriver.gemspec +10 -7
  263. data/selenium_server_deploy.jar +0 -0
  264. metadata +254 -26
  265. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -64
  266. data/lib/selenium/webdriver/edge_html/options.rb +0 -91
  267. data/lib/selenium/webdriver/edge_html/service.rb +0 -51
  268. data/lib/selenium/webdriver/firefox/binary.rb +0 -110
  269. data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
@@ -25,6 +25,12 @@ module Selenium
25
25
  module Http
26
26
  # @api private
27
27
  class Persistent < Default
28
+ def initialize(open_timeout: nil, read_timeout: nil)
29
+ WebDriver.logger.deprecate("Selenium::WebDriver::Remote::Http::Persistent",
30
+ id: :http_persistent) { "The default HTTP client now uses persistence." }
31
+ super
32
+ end
33
+
28
34
  def close
29
35
  @http&.shutdown
30
36
  end
@@ -26,12 +26,19 @@ module Selenium
26
26
  autoload :Service, 'selenium/webdriver/safari/service'
27
27
 
28
28
  class << self
29
+ attr_accessor :use_technology_preview
30
+
29
31
  def technology_preview
30
32
  "/Applications/Safari\ Technology\ Preview.app/Contents/MacOS/safaridriver"
31
33
  end
32
34
 
33
35
  def technology_preview!
34
36
  Service.driver_path = technology_preview
37
+ @use_technology_preview = true
38
+ end
39
+
40
+ def technology_preview?
41
+ use_technology_preview
35
42
  end
36
43
 
37
44
  def path=(path)
@@ -49,13 +56,15 @@ module Selenium
49
56
 
50
57
  def driver_path=(path)
51
58
  WebDriver.logger.deprecate 'Selenium::WebDriver::Safari#driver_path=',
52
- 'Selenium::WebDriver::Safari::Service#driver_path='
59
+ 'Selenium::WebDriver::Safari::Service#driver_path=',
60
+ id: :driver_path
53
61
  Selenium::WebDriver::Safari::Service.driver_path = path
54
62
  end
55
63
 
56
64
  def driver_path
57
65
  WebDriver.logger.deprecate 'Selenium::WebDriver::Safari#driver_path',
58
- 'Selenium::WebDriver::Safari::Service#driver_path'
66
+ 'Selenium::WebDriver::Safari::Service#driver_path',
67
+ id: :driver_path
59
68
  Selenium::WebDriver::Safari::Service.driver_path
60
69
  end
61
70
  end
@@ -20,7 +20,7 @@
20
20
  module Selenium
21
21
  module WebDriver
22
22
  module Safari
23
- module Bridge
23
+ class Bridge < WebDriver::Remote::Bridge
24
24
 
25
25
  # https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html
26
26
  COMMANDS = {
@@ -30,27 +30,14 @@ module Selenium
30
30
  include DriverExtensions::HasDebugger
31
31
  include DriverExtensions::HasPermissions
32
32
  include DriverExtensions::HasWebStorage
33
- include DriverExtensions::TakesScreenshot
34
-
35
- def initialize(opts = {})
36
- opts[:desired_capabilities] ||= Remote::Capabilities.safari
37
-
38
- opts[:url] ||= service_url(opts)
39
-
40
- listener = opts.delete(:listener)
41
- desired_capabilities = opts.delete(:desired_capabilities)
42
- options = opts.delete(:options)
43
-
44
- @bridge = Remote::Bridge.new(opts)
45
- @bridge.extend Bridge
46
- @bridge.create_session(desired_capabilities, options)
47
-
48
- super(@bridge, listener: listener)
49
- end
50
33
 
51
34
  def browser
52
35
  :safari
53
36
  end
37
+
38
+ def bridge_class
39
+ Bridge
40
+ end
54
41
  end # Driver
55
42
  end # Safari
56
43
  end # WebDriver
@@ -19,43 +19,33 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- #
23
- # @api private
24
- #
25
-
26
- module DriverExtensions
27
- module Rotatable
28
- ORIENTATIONS = %i[landscape portrait].freeze
29
-
30
- #
31
- # Change the screen orientation
32
- #
33
- # @param [:landscape, :portrait] orientation
34
- #
35
- # @api public
36
- #
37
-
38
- def rotation=(orientation)
39
- unless ORIENTATIONS.include?(orientation)
40
- raise ArgumentError, "expected #{ORIENTATIONS.inspect}, got #{orientation.inspect}"
41
- end
42
-
43
- bridge.screen_orientation = orientation.to_s.upcase
22
+ module Safari
23
+ module Features
24
+
25
+ # https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html
26
+ SAFARI_COMMANDS = {
27
+ get_permissions: [:get, 'session/:session_id/apple/permissions'],
28
+ set_permissions: [:post, 'session/:session_id/apple/permissions'],
29
+ attach_debugger: [:post, 'session/:session_id/apple/attach_debugger']
30
+ }.freeze
31
+
32
+ def commands(command)
33
+ SAFARI_COMMANDS[command] || self.class::COMMANDS[command]
44
34
  end
45
- alias_method :rotate, :rotation=
46
-
47
- #
48
- # Get the current screen orientation
49
- #
50
- # @return [:landscape, :portrait] orientation
51
- #
52
- # @api public
53
- #
54
-
55
- def orientation
56
- bridge.screen_orientation.to_sym.downcase
35
+
36
+ def permissions
37
+ execute(:get_permissions)['permissions']
38
+ end
39
+
40
+ def permissions=(permissions)
41
+ execute :set_permissions, {}, {permissions: permissions}
57
42
  end
58
- end # Rotatable
59
- end # DriverExtensions
43
+
44
+ def attach_debugger
45
+ execute :attach_debugger, {}, {}
46
+ end
47
+
48
+ end # Bridge
49
+ end # Safari
60
50
  end # WebDriver
61
51
  end # Selenium
@@ -26,40 +26,8 @@ module Selenium
26
26
  # @see https://developer.apple.com/documentation/webkit/about_webdriver_for_safari
27
27
  CAPABILITIES = {automatic_inspection: 'safari:automaticInspection',
28
28
  automatic_profiling: 'safari:automaticProfiling'}.freeze
29
+ BROWSER = 'safari'
29
30
 
30
- CAPABILITIES.each_key do |key|
31
- define_method key do
32
- @options[key]
33
- end
34
-
35
- define_method "#{key}=" do |value|
36
- @options[key] = value
37
- end
38
- end
39
-
40
- #
41
- # Create a new Options instance for W3C-capable versions of Safari.
42
- #
43
- # @example
44
- # options = Selenium::WebDriver::Safari::Options.new(automatic_inspection: true)
45
- # driver = Selenium::WebDriver.for :safari, options: options
46
- #
47
- # @param [Hash] opts the pre-defined options to create the Safari::Options with
48
- # @option opts [Boolean] :automatic_inspection Preloads Web Inspector and JavaScript debugger. Default is false
49
- # @option opts [Boolean] :automatic_profiling Preloads Web Inspector and starts a timeline recording. Default is false
50
- #
51
-
52
- def initialize(**opts)
53
- super
54
- end
55
-
56
- #
57
- # @api private
58
- #
59
-
60
- def as_json(*)
61
- generate_as_json(super)
62
- end
63
31
  end # Options
64
32
  end # Safari
65
33
  end # WebDriver
@@ -20,10 +20,6 @@
20
20
  module Selenium
21
21
  module WebDriver
22
22
  module Safari
23
- #
24
- # @api private
25
- #
26
-
27
23
  class Service < WebDriver::Service
28
24
  DEFAULT_PORT = 7050
29
25
  EXECUTABLE = 'safaridriver'
@@ -23,3 +23,4 @@ require 'selenium/webdriver/support/block_event_listener'
23
23
  require 'selenium/webdriver/support/escaper'
24
24
  require 'selenium/webdriver/support/select'
25
25
  require 'selenium/webdriver/support/color'
26
+ require 'selenium/webdriver/support/relative_locator'
@@ -25,7 +25,7 @@ module Selenium
25
25
  @callback = callback
26
26
  end
27
27
 
28
- def method_missing(meth, *args) # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
28
+ def method_missing(meth, *args) # rubocop:disable Style/MissingRespondToMissing
29
29
  @callback.call meth, *args
30
30
  end
31
31
  end # BlockEventListener
@@ -72,7 +72,7 @@ module Selenium
72
72
  end
73
73
  end
74
74
 
75
- def self.from_hsl(h, s, l, a) # rubocop:disable Naming/UncommunicativeMethodParamName
75
+ def self.from_hsl(h, s, l, a) # rubocop:disable Naming/MethodParameterName
76
76
  h = Float(h) / 360
77
77
  s = Float(s) / 100
78
78
  l = Float(l) / 100
@@ -138,7 +138,7 @@ module Selenium
138
138
  end
139
139
 
140
140
  def hex
141
- format '#%02x%02x%02x', red, green, blue
141
+ format '#%<red>02x%<green>02x%<blue>02x', red: red, green: green, blue: blue
142
142
  end
143
143
  end # Color
144
144
  end # Support
@@ -109,7 +109,7 @@ module Selenium
109
109
  end
110
110
 
111
111
  def driver
112
- @driver ||= Driver.new(self)
112
+ @driver ||= Driver.new(bridge: self)
113
113
  end
114
114
 
115
115
  def dispatch(name, *args)
@@ -120,7 +120,7 @@ module Selenium
120
120
  returned
121
121
  end
122
122
 
123
- def method_missing(meth, *args, &blk) # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
123
+ def method_missing(meth, *args, &blk) # rubocop:disable Style/MissingRespondToMissing
124
124
  @delegate.__send__(meth, *args, &blk)
125
125
  end
126
126
  end # EventFiringBridge
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ module Selenium
21
+ module WebDriver
22
+ module Support
23
+
24
+ #
25
+ # @api private
26
+ #
27
+
28
+ class RelativeLocator
29
+ KEYS = %w[above below left right near distance].freeze
30
+
31
+ def initialize(locator)
32
+ @filters, @root = locator.partition { |how, _| KEYS.include?(how) }.map(&:to_h)
33
+ end
34
+
35
+ def as_json
36
+ {
37
+ relative: {
38
+ root: @root,
39
+ filters: @filters.map do |kind, filter|
40
+ {
41
+ kind: kind,
42
+ args: [filter]
43
+ }
44
+ end
45
+ }
46
+ }
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.0.0.alpha3'
22
+ VERSION = '4.0.0.beta1'
23
23
  end # WebDriver
24
24
  end # Selenium
@@ -21,27 +21,30 @@ Gem::Specification.new do |s|
21
21
  s.license = 'Apache-2.0'
22
22
  s.homepage = 'https://github.com/SeleniumHQ/selenium'
23
23
  s.metadata = {
24
- 'changelog_uri' => 'https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES',
25
- 'source_code_uri' => 'https://github.com/SeleniumHQ/selenium/tree/master/rb'
24
+ 'changelog_uri' => 'https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES',
25
+ 'source_code_uri' => 'https://github.com/SeleniumHQ/selenium/tree/trunk/rb'
26
26
  }
27
27
 
28
28
  s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to? :required_rubygems_version=
29
- s.required_ruby_version = Gem::Requirement.new('>= 2.4')
29
+ s.required_ruby_version = Gem::Requirement.new('>= 2.5')
30
30
 
31
- s.files = Dir[root + '/**/*'].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub(root + '/', '') }
31
+ s.files = Dir["#{root}/**/*"].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub("#{root}/", '') }
32
32
  s.require_paths = ['lib']
33
33
 
34
- s.add_runtime_dependency 'childprocess', ['>= 0.5', '< 2.0']
35
- s.add_runtime_dependency 'rubyzip', ['~> 1.2', '>= 1.2.2']
34
+ s.add_runtime_dependency 'childprocess', ['>= 0.5', '< 5.0']
35
+ s.add_runtime_dependency 'rexml', ['~> 3.2']
36
+ s.add_runtime_dependency 'rubyzip', ['>= 1.2.2']
37
+ s.add_runtime_dependency 'websocket', ['~> 1.0']
36
38
 
37
39
  # childprocess requires ffi on windows but doesn't declare it in its dependencies
38
40
  s.add_development_dependency 'ffi'
39
41
  s.add_development_dependency 'rack', ['~> 2.0']
40
42
  s.add_development_dependency 'rake'
41
43
  s.add_development_dependency 'rspec', ['~> 3.0']
42
- s.add_development_dependency 'rubocop', ['~> 0.67.0']
44
+ s.add_development_dependency 'rubocop', ['~> 1.8.0']
43
45
  s.add_development_dependency 'rubocop-performance'
44
46
  s.add_development_dependency 'rubocop-rspec'
45
47
  s.add_development_dependency 'webmock', ['~> 3.5']
48
+ s.add_development_dependency 'webrick', ['~> 1.7']
46
49
  s.add_development_dependency 'yard', ['~> 0.9.11']
47
50
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha3
4
+ version: 4.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Rodionov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-07-08 00:00:00.000000000 Z
13
+ date: 2021-02-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  requirement: !ruby/object:Gem::Requirement
@@ -20,7 +20,7 @@ dependencies:
20
20
  version: '0.5'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '2.0'
23
+ version: '5.0'
24
24
  name: childprocess
25
25
  prerelease: false
26
26
  type: :runtime
@@ -31,13 +31,24 @@ dependencies:
31
31
  version: '0.5'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
- version: '2.0'
34
+ version: '5.0'
35
35
  - !ruby/object:Gem::Dependency
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.2'
40
+ version: '3.2'
41
+ name: rexml
42
+ prerelease: false
43
+ type: :runtime
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '3.2'
49
+ - !ruby/object:Gem::Dependency
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
41
52
  - - ">="
42
53
  - !ruby/object:Gem::Version
43
54
  version: 1.2.2
@@ -46,12 +57,23 @@ dependencies:
46
57
  type: :runtime
47
58
  version_requirements: !ruby/object:Gem::Requirement
48
59
  requirements:
49
- - - "~>"
50
- - !ruby/object:Gem::Version
51
- version: '1.2'
52
60
  - - ">="
53
61
  - !ruby/object:Gem::Version
54
62
  version: 1.2.2
63
+ - !ruby/object:Gem::Dependency
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ name: websocket
70
+ prerelease: false
71
+ type: :runtime
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.0'
55
77
  - !ruby/object:Gem::Dependency
56
78
  requirement: !ruby/object:Gem::Requirement
57
79
  requirements:
@@ -113,7 +135,7 @@ dependencies:
113
135
  requirements:
114
136
  - - "~>"
115
137
  - !ruby/object:Gem::Version
116
- version: 0.67.0
138
+ version: 1.8.0
117
139
  name: rubocop
118
140
  prerelease: false
119
141
  type: :development
@@ -121,7 +143,7 @@ dependencies:
121
143
  requirements:
122
144
  - - "~>"
123
145
  - !ruby/object:Gem::Version
124
- version: 0.67.0
146
+ version: 1.8.0
125
147
  - !ruby/object:Gem::Dependency
126
148
  requirement: !ruby/object:Gem::Requirement
127
149
  requirements:
@@ -164,6 +186,20 @@ dependencies:
164
186
  - - "~>"
165
187
  - !ruby/object:Gem::Version
166
188
  version: '3.5'
189
+ - !ruby/object:Gem::Dependency
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '1.7'
195
+ name: webrick
196
+ prerelease: false
197
+ type: :development
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - "~>"
201
+ - !ruby/object:Gem::Version
202
+ version: '1.7'
167
203
  - !ruby/object:Gem::Dependency
168
204
  requirement: !ruby/object:Gem::Requirement
169
205
  requirements:
@@ -197,11 +233,14 @@ files:
197
233
  - lib/selenium/server.rb
198
234
  - lib/selenium/webdriver.rb
199
235
  - lib/selenium/webdriver/atoms.rb
236
+ - lib/selenium/webdriver/atoms/findElements.js
200
237
  - lib/selenium/webdriver/atoms/getAttribute.js
201
238
  - lib/selenium/webdriver/atoms/isDisplayed.js
239
+ - lib/selenium/webdriver/atoms/mutationListener.js
202
240
  - lib/selenium/webdriver/chrome.rb
203
241
  - lib/selenium/webdriver/chrome/bridge.rb
204
242
  - lib/selenium/webdriver/chrome/driver.rb
243
+ - lib/selenium/webdriver/chrome/features.rb
205
244
  - lib/selenium/webdriver/chrome/options.rb
206
245
  - lib/selenium/webdriver/chrome/profile.rb
207
246
  - lib/selenium/webdriver/chrome/service.rb
@@ -211,16 +250,19 @@ files:
211
250
  - lib/selenium/webdriver/common/driver.rb
212
251
  - lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
213
252
  - lib/selenium/webdriver/common/driver_extensions/has_addons.rb
253
+ - lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
214
254
  - lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
255
+ - lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
215
256
  - lib/selenium/webdriver/common/driver_extensions/has_location.rb
257
+ - lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
258
+ - lib/selenium/webdriver/common/driver_extensions/has_logs.rb
216
259
  - lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
217
260
  - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
218
261
  - lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
219
262
  - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
220
263
  - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
221
264
  - lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
222
- - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
223
- - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
265
+ - lib/selenium/webdriver/common/driver_extensions/prints_page.rb
224
266
  - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
225
267
  - lib/selenium/webdriver/common/element.rb
226
268
  - lib/selenium/webdriver/common/error.rb
@@ -249,28 +291,211 @@ files:
249
291
  - lib/selenium/webdriver/common/proxy.rb
250
292
  - lib/selenium/webdriver/common/search_context.rb
251
293
  - lib/selenium/webdriver/common/service.rb
294
+ - lib/selenium/webdriver/common/service_manager.rb
252
295
  - lib/selenium/webdriver/common/socket_lock.rb
253
296
  - lib/selenium/webdriver/common/socket_poller.rb
297
+ - lib/selenium/webdriver/common/takes_screenshot.rb
254
298
  - lib/selenium/webdriver/common/target_locator.rb
255
299
  - lib/selenium/webdriver/common/timeouts.rb
256
300
  - lib/selenium/webdriver/common/wait.rb
257
301
  - lib/selenium/webdriver/common/window.rb
258
302
  - lib/selenium/webdriver/common/zipper.rb
303
+ - lib/selenium/webdriver/devtools.rb
304
+ - lib/selenium/webdriver/devtools/console_event.rb
305
+ - lib/selenium/webdriver/devtools/exception_event.rb
306
+ - lib/selenium/webdriver/devtools/mutation_event.rb
307
+ - lib/selenium/webdriver/devtools/v85/accessibility.rb
308
+ - lib/selenium/webdriver/devtools/v85/animation.rb
309
+ - lib/selenium/webdriver/devtools/v85/application_cache.rb
310
+ - lib/selenium/webdriver/devtools/v85/audits.rb
311
+ - lib/selenium/webdriver/devtools/v85/background_service.rb
312
+ - lib/selenium/webdriver/devtools/v85/browser.rb
313
+ - lib/selenium/webdriver/devtools/v85/cache_storage.rb
314
+ - lib/selenium/webdriver/devtools/v85/cast.rb
315
+ - lib/selenium/webdriver/devtools/v85/console.rb
316
+ - lib/selenium/webdriver/devtools/v85/css.rb
317
+ - lib/selenium/webdriver/devtools/v85/database.rb
318
+ - lib/selenium/webdriver/devtools/v85/debugger.rb
319
+ - lib/selenium/webdriver/devtools/v85/device_orientation.rb
320
+ - lib/selenium/webdriver/devtools/v85/dom.rb
321
+ - lib/selenium/webdriver/devtools/v85/dom_debugger.rb
322
+ - lib/selenium/webdriver/devtools/v85/dom_snapshot.rb
323
+ - lib/selenium/webdriver/devtools/v85/dom_storage.rb
324
+ - lib/selenium/webdriver/devtools/v85/emulation.rb
325
+ - lib/selenium/webdriver/devtools/v85/fetch.rb
326
+ - lib/selenium/webdriver/devtools/v85/headless_experimental.rb
327
+ - lib/selenium/webdriver/devtools/v85/heap_profiler.rb
328
+ - lib/selenium/webdriver/devtools/v85/indexed_db.rb
329
+ - lib/selenium/webdriver/devtools/v85/input.rb
330
+ - lib/selenium/webdriver/devtools/v85/inspector.rb
331
+ - lib/selenium/webdriver/devtools/v85/io.rb
332
+ - lib/selenium/webdriver/devtools/v85/layer_tree.rb
333
+ - lib/selenium/webdriver/devtools/v85/log.rb
334
+ - lib/selenium/webdriver/devtools/v85/media.rb
335
+ - lib/selenium/webdriver/devtools/v85/memory.rb
336
+ - lib/selenium/webdriver/devtools/v85/network.rb
337
+ - lib/selenium/webdriver/devtools/v85/overlay.rb
338
+ - lib/selenium/webdriver/devtools/v85/page.rb
339
+ - lib/selenium/webdriver/devtools/v85/performance.rb
340
+ - lib/selenium/webdriver/devtools/v85/profiler.rb
341
+ - lib/selenium/webdriver/devtools/v85/runtime.rb
342
+ - lib/selenium/webdriver/devtools/v85/schema.rb
343
+ - lib/selenium/webdriver/devtools/v85/security.rb
344
+ - lib/selenium/webdriver/devtools/v85/service_worker.rb
345
+ - lib/selenium/webdriver/devtools/v85/storage.rb
346
+ - lib/selenium/webdriver/devtools/v85/system_info.rb
347
+ - lib/selenium/webdriver/devtools/v85/target.rb
348
+ - lib/selenium/webdriver/devtools/v85/tethering.rb
349
+ - lib/selenium/webdriver/devtools/v85/tracing.rb
350
+ - lib/selenium/webdriver/devtools/v85/web_audio.rb
351
+ - lib/selenium/webdriver/devtools/v85/web_authn.rb
352
+ - lib/selenium/webdriver/devtools/v86/accessibility.rb
353
+ - lib/selenium/webdriver/devtools/v86/animation.rb
354
+ - lib/selenium/webdriver/devtools/v86/application_cache.rb
355
+ - lib/selenium/webdriver/devtools/v86/audits.rb
356
+ - lib/selenium/webdriver/devtools/v86/background_service.rb
357
+ - lib/selenium/webdriver/devtools/v86/browser.rb
358
+ - lib/selenium/webdriver/devtools/v86/cache_storage.rb
359
+ - lib/selenium/webdriver/devtools/v86/cast.rb
360
+ - lib/selenium/webdriver/devtools/v86/console.rb
361
+ - lib/selenium/webdriver/devtools/v86/css.rb
362
+ - lib/selenium/webdriver/devtools/v86/database.rb
363
+ - lib/selenium/webdriver/devtools/v86/debugger.rb
364
+ - lib/selenium/webdriver/devtools/v86/device_orientation.rb
365
+ - lib/selenium/webdriver/devtools/v86/dom.rb
366
+ - lib/selenium/webdriver/devtools/v86/dom_debugger.rb
367
+ - lib/selenium/webdriver/devtools/v86/dom_snapshot.rb
368
+ - lib/selenium/webdriver/devtools/v86/dom_storage.rb
369
+ - lib/selenium/webdriver/devtools/v86/emulation.rb
370
+ - lib/selenium/webdriver/devtools/v86/fetch.rb
371
+ - lib/selenium/webdriver/devtools/v86/headless_experimental.rb
372
+ - lib/selenium/webdriver/devtools/v86/heap_profiler.rb
373
+ - lib/selenium/webdriver/devtools/v86/indexed_db.rb
374
+ - lib/selenium/webdriver/devtools/v86/input.rb
375
+ - lib/selenium/webdriver/devtools/v86/inspector.rb
376
+ - lib/selenium/webdriver/devtools/v86/io.rb
377
+ - lib/selenium/webdriver/devtools/v86/layer_tree.rb
378
+ - lib/selenium/webdriver/devtools/v86/log.rb
379
+ - lib/selenium/webdriver/devtools/v86/media.rb
380
+ - lib/selenium/webdriver/devtools/v86/memory.rb
381
+ - lib/selenium/webdriver/devtools/v86/network.rb
382
+ - lib/selenium/webdriver/devtools/v86/overlay.rb
383
+ - lib/selenium/webdriver/devtools/v86/page.rb
384
+ - lib/selenium/webdriver/devtools/v86/performance.rb
385
+ - lib/selenium/webdriver/devtools/v86/profiler.rb
386
+ - lib/selenium/webdriver/devtools/v86/runtime.rb
387
+ - lib/selenium/webdriver/devtools/v86/schema.rb
388
+ - lib/selenium/webdriver/devtools/v86/security.rb
389
+ - lib/selenium/webdriver/devtools/v86/service_worker.rb
390
+ - lib/selenium/webdriver/devtools/v86/storage.rb
391
+ - lib/selenium/webdriver/devtools/v86/system_info.rb
392
+ - lib/selenium/webdriver/devtools/v86/target.rb
393
+ - lib/selenium/webdriver/devtools/v86/tethering.rb
394
+ - lib/selenium/webdriver/devtools/v86/tracing.rb
395
+ - lib/selenium/webdriver/devtools/v86/web_audio.rb
396
+ - lib/selenium/webdriver/devtools/v86/web_authn.rb
397
+ - lib/selenium/webdriver/devtools/v87/accessibility.rb
398
+ - lib/selenium/webdriver/devtools/v87/animation.rb
399
+ - lib/selenium/webdriver/devtools/v87/application_cache.rb
400
+ - lib/selenium/webdriver/devtools/v87/audits.rb
401
+ - lib/selenium/webdriver/devtools/v87/background_service.rb
402
+ - lib/selenium/webdriver/devtools/v87/browser.rb
403
+ - lib/selenium/webdriver/devtools/v87/cache_storage.rb
404
+ - lib/selenium/webdriver/devtools/v87/cast.rb
405
+ - lib/selenium/webdriver/devtools/v87/console.rb
406
+ - lib/selenium/webdriver/devtools/v87/css.rb
407
+ - lib/selenium/webdriver/devtools/v87/database.rb
408
+ - lib/selenium/webdriver/devtools/v87/debugger.rb
409
+ - lib/selenium/webdriver/devtools/v87/device_orientation.rb
410
+ - lib/selenium/webdriver/devtools/v87/dom.rb
411
+ - lib/selenium/webdriver/devtools/v87/dom_debugger.rb
412
+ - lib/selenium/webdriver/devtools/v87/dom_snapshot.rb
413
+ - lib/selenium/webdriver/devtools/v87/dom_storage.rb
414
+ - lib/selenium/webdriver/devtools/v87/emulation.rb
415
+ - lib/selenium/webdriver/devtools/v87/fetch.rb
416
+ - lib/selenium/webdriver/devtools/v87/headless_experimental.rb
417
+ - lib/selenium/webdriver/devtools/v87/heap_profiler.rb
418
+ - lib/selenium/webdriver/devtools/v87/indexed_db.rb
419
+ - lib/selenium/webdriver/devtools/v87/input.rb
420
+ - lib/selenium/webdriver/devtools/v87/inspector.rb
421
+ - lib/selenium/webdriver/devtools/v87/io.rb
422
+ - lib/selenium/webdriver/devtools/v87/layer_tree.rb
423
+ - lib/selenium/webdriver/devtools/v87/log.rb
424
+ - lib/selenium/webdriver/devtools/v87/media.rb
425
+ - lib/selenium/webdriver/devtools/v87/memory.rb
426
+ - lib/selenium/webdriver/devtools/v87/network.rb
427
+ - lib/selenium/webdriver/devtools/v87/overlay.rb
428
+ - lib/selenium/webdriver/devtools/v87/page.rb
429
+ - lib/selenium/webdriver/devtools/v87/performance.rb
430
+ - lib/selenium/webdriver/devtools/v87/profiler.rb
431
+ - lib/selenium/webdriver/devtools/v87/runtime.rb
432
+ - lib/selenium/webdriver/devtools/v87/schema.rb
433
+ - lib/selenium/webdriver/devtools/v87/security.rb
434
+ - lib/selenium/webdriver/devtools/v87/service_worker.rb
435
+ - lib/selenium/webdriver/devtools/v87/storage.rb
436
+ - lib/selenium/webdriver/devtools/v87/system_info.rb
437
+ - lib/selenium/webdriver/devtools/v87/target.rb
438
+ - lib/selenium/webdriver/devtools/v87/tethering.rb
439
+ - lib/selenium/webdriver/devtools/v87/tracing.rb
440
+ - lib/selenium/webdriver/devtools/v87/web_audio.rb
441
+ - lib/selenium/webdriver/devtools/v87/web_authn.rb
442
+ - lib/selenium/webdriver/devtools/v88/accessibility.rb
443
+ - lib/selenium/webdriver/devtools/v88/animation.rb
444
+ - lib/selenium/webdriver/devtools/v88/application_cache.rb
445
+ - lib/selenium/webdriver/devtools/v88/audits.rb
446
+ - lib/selenium/webdriver/devtools/v88/background_service.rb
447
+ - lib/selenium/webdriver/devtools/v88/browser.rb
448
+ - lib/selenium/webdriver/devtools/v88/cache_storage.rb
449
+ - lib/selenium/webdriver/devtools/v88/cast.rb
450
+ - lib/selenium/webdriver/devtools/v88/console.rb
451
+ - lib/selenium/webdriver/devtools/v88/css.rb
452
+ - lib/selenium/webdriver/devtools/v88/database.rb
453
+ - lib/selenium/webdriver/devtools/v88/debugger.rb
454
+ - lib/selenium/webdriver/devtools/v88/device_orientation.rb
455
+ - lib/selenium/webdriver/devtools/v88/dom.rb
456
+ - lib/selenium/webdriver/devtools/v88/dom_debugger.rb
457
+ - lib/selenium/webdriver/devtools/v88/dom_snapshot.rb
458
+ - lib/selenium/webdriver/devtools/v88/dom_storage.rb
459
+ - lib/selenium/webdriver/devtools/v88/emulation.rb
460
+ - lib/selenium/webdriver/devtools/v88/fetch.rb
461
+ - lib/selenium/webdriver/devtools/v88/headless_experimental.rb
462
+ - lib/selenium/webdriver/devtools/v88/heap_profiler.rb
463
+ - lib/selenium/webdriver/devtools/v88/indexed_db.rb
464
+ - lib/selenium/webdriver/devtools/v88/input.rb
465
+ - lib/selenium/webdriver/devtools/v88/inspector.rb
466
+ - lib/selenium/webdriver/devtools/v88/io.rb
467
+ - lib/selenium/webdriver/devtools/v88/layer_tree.rb
468
+ - lib/selenium/webdriver/devtools/v88/log.rb
469
+ - lib/selenium/webdriver/devtools/v88/media.rb
470
+ - lib/selenium/webdriver/devtools/v88/memory.rb
471
+ - lib/selenium/webdriver/devtools/v88/network.rb
472
+ - lib/selenium/webdriver/devtools/v88/overlay.rb
473
+ - lib/selenium/webdriver/devtools/v88/page.rb
474
+ - lib/selenium/webdriver/devtools/v88/performance.rb
475
+ - lib/selenium/webdriver/devtools/v88/profiler.rb
476
+ - lib/selenium/webdriver/devtools/v88/runtime.rb
477
+ - lib/selenium/webdriver/devtools/v88/schema.rb
478
+ - lib/selenium/webdriver/devtools/v88/security.rb
479
+ - lib/selenium/webdriver/devtools/v88/service_worker.rb
480
+ - lib/selenium/webdriver/devtools/v88/storage.rb
481
+ - lib/selenium/webdriver/devtools/v88/system_info.rb
482
+ - lib/selenium/webdriver/devtools/v88/target.rb
483
+ - lib/selenium/webdriver/devtools/v88/tethering.rb
484
+ - lib/selenium/webdriver/devtools/v88/tracing.rb
485
+ - lib/selenium/webdriver/devtools/v88/web_audio.rb
486
+ - lib/selenium/webdriver/devtools/v88/web_authn.rb
259
487
  - lib/selenium/webdriver/edge.rb
260
- - lib/selenium/webdriver/edge_chrome/bridge.rb
261
- - lib/selenium/webdriver/edge_chrome/driver.rb
262
- - lib/selenium/webdriver/edge_chrome/options.rb
263
- - lib/selenium/webdriver/edge_chrome/profile.rb
264
- - lib/selenium/webdriver/edge_chrome/service.rb
265
- - lib/selenium/webdriver/edge_html/driver.rb
266
- - lib/selenium/webdriver/edge_html/options.rb
267
- - lib/selenium/webdriver/edge_html/service.rb
488
+ - lib/selenium/webdriver/edge/bridge.rb
489
+ - lib/selenium/webdriver/edge/driver.rb
490
+ - lib/selenium/webdriver/edge/features.rb
491
+ - lib/selenium/webdriver/edge/options.rb
492
+ - lib/selenium/webdriver/edge/profile.rb
493
+ - lib/selenium/webdriver/edge/service.rb
268
494
  - lib/selenium/webdriver/firefox.rb
269
- - lib/selenium/webdriver/firefox/binary.rb
270
495
  - lib/selenium/webdriver/firefox/bridge.rb
271
496
  - lib/selenium/webdriver/firefox/driver.rb
272
497
  - lib/selenium/webdriver/firefox/extension.rb
273
- - lib/selenium/webdriver/firefox/extension/prefs.json
498
+ - lib/selenium/webdriver/firefox/features.rb
274
499
  - lib/selenium/webdriver/firefox/options.rb
275
500
  - lib/selenium/webdriver/firefox/profile.rb
276
501
  - lib/selenium/webdriver/firefox/profiles_ini.rb
@@ -293,6 +518,7 @@ files:
293
518
  - lib/selenium/webdriver/safari.rb
294
519
  - lib/selenium/webdriver/safari/bridge.rb
295
520
  - lib/selenium/webdriver/safari/driver.rb
521
+ - lib/selenium/webdriver/safari/features.rb
296
522
  - lib/selenium/webdriver/safari/options.rb
297
523
  - lib/selenium/webdriver/safari/service.rb
298
524
  - lib/selenium/webdriver/support.rb
@@ -301,15 +527,17 @@ files:
301
527
  - lib/selenium/webdriver/support/color.rb
302
528
  - lib/selenium/webdriver/support/escaper.rb
303
529
  - lib/selenium/webdriver/support/event_firing_bridge.rb
530
+ - lib/selenium/webdriver/support/relative_locator.rb
304
531
  - lib/selenium/webdriver/support/select.rb
305
532
  - lib/selenium/webdriver/version.rb
306
533
  - selenium-webdriver.gemspec
534
+ - selenium_server_deploy.jar
307
535
  homepage: https://github.com/SeleniumHQ/selenium
308
536
  licenses:
309
537
  - Apache-2.0
310
538
  metadata:
311
- changelog_uri: https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES
312
- source_code_uri: https://github.com/SeleniumHQ/selenium/tree/master/rb
539
+ changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
540
+ source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
313
541
  post_install_message:
314
542
  rdoc_options: []
315
543
  require_paths:
@@ -318,7 +546,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
318
546
  requirements:
319
547
  - - ">="
320
548
  - !ruby/object:Gem::Version
321
- version: '2.4'
549
+ version: '2.5'
322
550
  required_rubygems_version: !ruby/object:Gem::Requirement
323
551
  requirements:
324
552
  - - ">"
@@ -326,7 +554,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
554
  version: 1.3.1
327
555
  requirements: []
328
556
  rubyforge_project:
329
- rubygems_version: 2.6.14
557
+ rubygems_version: 2.7.9
330
558
  signing_key:
331
559
  specification_version: 4
332
560
  summary: The next generation developer focused tool for automated testing of webapps