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
@@ -30,7 +30,6 @@ module Selenium
30
30
  include DriverExtensions::UploadsFiles
31
31
  include DriverExtensions::HasSessionId
32
32
  include DriverExtensions::HasRemoteStatus
33
- include DriverExtensions::HasWebStorage
34
33
 
35
34
  def initialize(bridge: nil, listener: nil, **opts)
36
35
  desired_capabilities = opts[:desired_capabilities]
@@ -50,6 +49,12 @@ module Selenium
50
49
 
51
50
  @bridge.print_page(options)
52
51
  end
52
+
53
+ private
54
+
55
+ def devtools_address
56
+ capabilities['se:cdp']
57
+ end
53
58
  end # Driver
54
59
  end # Remote
55
60
  end # WebDriver
@@ -30,13 +30,8 @@ module Selenium
30
30
  'User-Agent' => "selenium/#{WebDriver::VERSION} (ruby #{Platform.os})"
31
31
  }.freeze
32
32
 
33
- attr_accessor :timeout
34
33
  attr_writer :server_url
35
34
 
36
- def initialize
37
- @timeout = nil
38
- end
39
-
40
35
  def quit_errors
41
36
  [IOError]
42
37
  end
@@ -55,8 +55,7 @@ module Selenium
55
55
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
56
56
  end
57
57
 
58
- # Defaulting open_timeout to nil to be consistent with Ruby 2.2 and earlier.
59
- http.open_timeout = open_timeout
58
+ http.open_timeout = open_timeout if open_timeout
60
59
  http.read_timeout = read_timeout if read_timeout
61
60
 
62
61
  start(http)
@@ -128,7 +127,10 @@ module Selenium
128
127
  def new_http_client
129
128
  if use_proxy?
130
129
  url = @proxy.http
131
- raise Error::WebDriverError, "expected HTTP proxy, got #{@proxy.inspect}" unless proxy.respond_to?(:http) && url
130
+ unless proxy.respond_to?(:http) && url
131
+ raise Error::WebDriverError,
132
+ "expected HTTP proxy, got #{@proxy.inspect}"
133
+ end
132
134
 
133
135
  proxy = URI.parse(url)
134
136
 
@@ -20,7 +20,7 @@
20
20
  module Selenium
21
21
  module WebDriver
22
22
  module Safari
23
- autoload :Bridge, 'selenium/webdriver/safari/bridge'
23
+ autoload :Features, 'selenium/webdriver/safari/features'
24
24
  autoload :Driver, 'selenium/webdriver/safari/driver'
25
25
  autoload :Options, 'selenium/webdriver/safari/options'
26
26
  autoload :Service, 'selenium/webdriver/safari/service'
@@ -27,17 +27,13 @@ module Selenium
27
27
  #
28
28
 
29
29
  class Driver < WebDriver::Driver
30
- include DriverExtensions::HasDebugger
31
- include DriverExtensions::HasPermissions
32
- include DriverExtensions::HasWebStorage
30
+ EXTENSIONS = [DriverExtensions::HasDebugger,
31
+ DriverExtensions::HasPermissions,
32
+ DriverExtensions::HasWebStorage].freeze
33
33
 
34
34
  def browser
35
35
  :safari
36
36
  end
37
-
38
- def bridge_class
39
- Bridge
40
- end
41
37
  end # Driver
42
38
  end # Safari
43
39
  end # WebDriver
@@ -0,0 +1,95 @@
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
+ require_relative 'guards/guard_condition'
21
+ require_relative 'guards/guard'
22
+
23
+ module Selenium
24
+ module WebDriver
25
+ module Support
26
+ class Guards
27
+ GUARD_TYPES = %i[except only exclude exclusive].freeze
28
+
29
+ attr_reader :messages
30
+ attr_accessor :bug_tracker
31
+
32
+ def initialize(example, bug_tracker: '', conditions: nil)
33
+ @example = example
34
+ @bug_tracker = bug_tracker
35
+ @guard_conditions = conditions || []
36
+ @guards = collect_example_guards
37
+ @messages = {}
38
+ end
39
+
40
+ def add_condition(name, condition = nil, &blk)
41
+ @guard_conditions << GuardCondition.new(name, condition, &blk)
42
+ end
43
+
44
+ def add_message(name, message)
45
+ @messages[name] = message
46
+ end
47
+
48
+ def disposition
49
+ if !skipping_guard.nil?
50
+ [:skip, skipping_guard.message]
51
+ elsif !pending_guard.nil? && ENV['SKIP_PENDING']
52
+ [:skip, pending_guard.message]
53
+ elsif !pending_guard.nil?
54
+ [:pending, pending_guard.message]
55
+ end
56
+ end
57
+
58
+ def satisfied?(guard)
59
+ @guard_conditions.all? { |condition| condition.satisfied?(guard) }
60
+ end
61
+
62
+ private
63
+
64
+ def collect_example_guards
65
+ guards = []
66
+
67
+ GUARD_TYPES.each do |guard_type|
68
+ example_group = @example.metadata[:example_group]
69
+ example_guards = [@example.metadata[guard_type], example_group[guard_type]]
70
+ while example_group[:parent_example_group]
71
+ example_group = example_group[:parent_example_group]
72
+ example_guards << example_group[guard_type]
73
+ end
74
+
75
+ example_guards.flatten.uniq.compact.each do |example_guard|
76
+ guards << Guard.new(example_guard, guard_type, self)
77
+ end
78
+ end
79
+
80
+ guards
81
+ end
82
+
83
+ def skipping_guard
84
+ @guards.select(&:exclusive?).find { |guard| !satisfied?(guard) } ||
85
+ @guards.select(&:exclude?).find { |guard| satisfied?(guard) }
86
+ end
87
+
88
+ def pending_guard
89
+ @guards.select(&:except?).find { |guard| satisfied?(guard) } ||
90
+ @guards.select(&:only?).find { |guard| !satisfied?(guard) }
91
+ end
92
+ end # Guards
93
+ end # Support
94
+ end # WebDriver
95
+ end # Selenium
@@ -0,0 +1,89 @@
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
+ class Guards
24
+
25
+ #
26
+ # Guard derived from RSpec example metadata.
27
+ # @api private
28
+ #
29
+
30
+ class Guard
31
+
32
+ attr_reader :guarded, :type, :messages, :reason
33
+
34
+ def initialize(guarded, type, guards = nil)
35
+ @guarded = guarded
36
+ @tracker = guards&.bug_tracker || ''
37
+ @messages = guards&.messages || {}
38
+ @messages[:unknown] = 'TODO: Investigate why this is failing and file a bug report'
39
+ @type = type
40
+
41
+ @reason = @guarded.delete(:reason)
42
+ end
43
+
44
+ def message
45
+ details = case @reason
46
+ when Integer
47
+ "Bug Filed: #{@tracker}/#{@reason}"
48
+ when Symbol
49
+ @messages[@reason]
50
+ when String
51
+ @reason
52
+ else
53
+ 'no reason given'
54
+ end
55
+
56
+ case @type
57
+ when :exclude
58
+ "Test not guarded because it breaks test run; #{details}"
59
+ when :exclusive
60
+ "Test does not apply to this configuration; #{details}"
61
+ else
62
+ "Test guarded; #{details}"
63
+ end
64
+ end
65
+
66
+ # Bug is present on all configurations specified
67
+ def except?
68
+ @type == :except
69
+ end
70
+
71
+ # Bug is present on all configurations not specified
72
+ def only?
73
+ @type == :only
74
+ end
75
+
76
+ # Bug is present on all configurations specified, but test can not be run because it breaks other tests
77
+ def exclude?
78
+ @type == :exclude
79
+ end
80
+
81
+ # Test only applies to configurations specified
82
+ def exclusive?
83
+ @type == :exclusive
84
+ end
85
+ end # Guard
86
+ end # Guards
87
+ end # Support
88
+ end # WebDriver
89
+ end # Selenium
@@ -17,36 +17,36 @@
17
17
  # specific language governing permissions and limitations
18
18
  # under the License.
19
19
 
20
- # This file is automatically generated. Any changes will be lost!
21
20
  module Selenium
22
21
  module WebDriver
23
- class DevTools
24
- def system_info
25
- @system_info ||= V87::SystemInfo.new(self)
26
- end
27
-
28
- module V87
29
- class SystemInfo
30
-
31
- def initialize(devtools)
32
- @devtools = devtools
22
+ module Support
23
+ class Guards
24
+
25
+ #
26
+ # Guard derived from RSpec example metadata.
27
+ # @api private
28
+ #
29
+
30
+ class GuardCondition
31
+ attr_accessor :name, :execution
32
+
33
+ def initialize(name, condition = nil, &blk)
34
+ @name = name
35
+ @execution = if block_given?
36
+ proc(&blk)
37
+ else
38
+ proc { |guarded| guarded.include?(condition) }
39
+ end
33
40
  end
34
41
 
35
- def on(event, &block)
36
- event = EVENTS[event] if event.is_a?(Symbol)
37
- @devtools.callbacks["SystemInfo.#{event}"] << block
38
- end
39
-
40
- def get_info
41
- @devtools.send_cmd('SystemInfo.getInfo')
42
- end
42
+ def satisfied?(guard)
43
+ list = Array(guard.guarded[@name])
43
44
 
44
- def get_process_info
45
- @devtools.send_cmd('SystemInfo.getProcessInfo')
45
+ list.empty? || @execution.call(list)
46
46
  end
47
47
 
48
- end # V87
49
- end # SystemInfo
50
- end # DevTools
48
+ end # GuardCondition
49
+ end # Guards
50
+ end # Support
51
51
  end # WebDriver
52
52
  end # Selenium
@@ -31,7 +31,7 @@ module Selenium
31
31
  raise ArgumentError, "unexpected tag name #{tag_name.inspect}" unless tag_name.casecmp('select').zero?
32
32
 
33
33
  @element = element
34
- @multi = ![nil, 'false'].include?(element.attribute(:multiple))
34
+ @multi = ![nil, 'false'].include?(element.dom_attribute(:multiple))
35
35
  end
36
36
 
37
37
  #
@@ -258,7 +258,7 @@ module Selenium
258
258
  end
259
259
 
260
260
  def find_by_index(index)
261
- options.select { |option| option.attribute(:index) == index.to_s }
261
+ options.select { |option| option.dom_attribute(:index) == index.to_s }
262
262
  end
263
263
 
264
264
  def find_by_value(value)
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.0.0.beta1'
22
+ VERSION = '4.0.0.beta2'
23
23
  end # WebDriver
24
24
  end # Selenium
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.beta1
4
+ version: 4.0.0.beta2
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: 2021-02-15 00:00:00.000000000 Z
13
+ date: 2021-03-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  requirement: !ruby/object:Gem::Requirement
@@ -214,9 +214,10 @@ dependencies:
214
214
  - - "~>"
215
215
  - !ruby/object:Gem::Version
216
216
  version: 0.9.11
217
- description: WebDriver is a tool for writing automated tests of websites. It aims
218
- to mimic the behaviour of a real user, and as such interacts with the HTML of the
219
- application.
217
+ description: |2
218
+ Selenium implements the W3C WebDriver protocol to automate popular browsers.
219
+ It aims to mimic the behaviour of a real user as it interacts with the application's HTML.
220
+ It's primarily intended for web application testing, but any web-based task can automated.
220
221
  email:
221
222
  - p0deje@gmail.com
222
223
  - titusfortner@gmail.com
@@ -225,11 +226,8 @@ executables: []
225
226
  extensions: []
226
227
  extra_rdoc_files: []
227
228
  files:
228
- - CHANGES
229
- - Gemfile
230
- - LICENSE
231
- - README.md
232
229
  - lib/selenium-webdriver.rb
230
+ - lib/selenium/devtools.rb
233
231
  - lib/selenium/server.rb
234
232
  - lib/selenium/webdriver.rb
235
233
  - lib/selenium/webdriver/atoms.rb
@@ -238,7 +236,6 @@ files:
238
236
  - lib/selenium/webdriver/atoms/isDisplayed.js
239
237
  - lib/selenium/webdriver/atoms/mutationListener.js
240
238
  - lib/selenium/webdriver/chrome.rb
241
- - lib/selenium/webdriver/chrome/bridge.rb
242
239
  - lib/selenium/webdriver/chrome/driver.rb
243
240
  - lib/selenium/webdriver/chrome/features.rb
244
241
  - lib/selenium/webdriver/chrome/options.rb
@@ -258,6 +255,7 @@ files:
258
255
  - lib/selenium/webdriver/common/driver_extensions/has_logs.rb
259
256
  - lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
260
257
  - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
258
+ - lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
261
259
  - lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
262
260
  - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
263
261
  - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
@@ -304,195 +302,14 @@ files:
304
302
  - lib/selenium/webdriver/devtools/console_event.rb
305
303
  - lib/selenium/webdriver/devtools/exception_event.rb
306
304
  - 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
305
+ - lib/selenium/webdriver/devtools/request.rb
487
306
  - lib/selenium/webdriver/edge.rb
488
- - lib/selenium/webdriver/edge/bridge.rb
489
307
  - lib/selenium/webdriver/edge/driver.rb
490
308
  - lib/selenium/webdriver/edge/features.rb
491
309
  - lib/selenium/webdriver/edge/options.rb
492
310
  - lib/selenium/webdriver/edge/profile.rb
493
311
  - lib/selenium/webdriver/edge/service.rb
494
312
  - lib/selenium/webdriver/firefox.rb
495
- - lib/selenium/webdriver/firefox/bridge.rb
496
313
  - lib/selenium/webdriver/firefox/driver.rb
497
314
  - lib/selenium/webdriver/firefox/extension.rb
498
315
  - lib/selenium/webdriver/firefox/features.rb
@@ -516,7 +333,6 @@ files:
516
333
  - lib/selenium/webdriver/remote/response.rb
517
334
  - lib/selenium/webdriver/remote/server_error.rb
518
335
  - lib/selenium/webdriver/safari.rb
519
- - lib/selenium/webdriver/safari/bridge.rb
520
336
  - lib/selenium/webdriver/safari/driver.rb
521
337
  - lib/selenium/webdriver/safari/features.rb
522
338
  - lib/selenium/webdriver/safari/options.rb
@@ -527,12 +343,13 @@ files:
527
343
  - lib/selenium/webdriver/support/color.rb
528
344
  - lib/selenium/webdriver/support/escaper.rb
529
345
  - lib/selenium/webdriver/support/event_firing_bridge.rb
346
+ - lib/selenium/webdriver/support/guards.rb
347
+ - lib/selenium/webdriver/support/guards/guard.rb
348
+ - lib/selenium/webdriver/support/guards/guard_condition.rb
530
349
  - lib/selenium/webdriver/support/relative_locator.rb
531
350
  - lib/selenium/webdriver/support/select.rb
532
351
  - lib/selenium/webdriver/version.rb
533
- - selenium-webdriver.gemspec
534
- - selenium_server_deploy.jar
535
- homepage: https://github.com/SeleniumHQ/selenium
352
+ homepage: https://selenium.dev
536
353
  licenses:
537
354
  - Apache-2.0
538
355
  metadata:
@@ -557,5 +374,6 @@ rubyforge_project:
557
374
  rubygems_version: 2.7.9
558
375
  signing_key:
559
376
  specification_version: 4
560
- summary: The next generation developer focused tool for automated testing of webapps
377
+ summary: Selenium is a browser automation tool for automated testing of webapps and
378
+ more
561
379
  test_files: []