selenium-webdriver 4.0.0.beta1 → 4.0.0.beta2

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 (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: []