selenium-webdriver 4.0.0.alpha5 → 4.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/lib/selenium/devtools.rb +30 -0
  3. data/lib/selenium/server.rb +18 -26
  4. data/lib/selenium/webdriver.rb +1 -3
  5. data/lib/selenium/webdriver/atoms/findElements.js +93 -93
  6. data/lib/selenium/webdriver/atoms/getAttribute.js +75 -59
  7. data/lib/selenium/webdriver/atoms/isDisplayed.js +72 -72
  8. data/lib/selenium/webdriver/atoms/mutationListener.js +55 -0
  9. data/lib/selenium/webdriver/chrome.rb +1 -1
  10. data/lib/selenium/webdriver/chrome/driver.rb +28 -6
  11. data/lib/selenium/webdriver/chrome/{bridge.rb → features.rb} +6 -8
  12. data/lib/selenium/webdriver/chrome/options.rb +54 -37
  13. data/lib/selenium/webdriver/chrome/profile.rb +6 -3
  14. data/lib/selenium/webdriver/chrome/service.rb +4 -2
  15. data/lib/selenium/webdriver/common.rb +7 -2
  16. data/lib/selenium/webdriver/common/driver.rb +86 -26
  17. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
  18. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +6 -1
  19. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
  20. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +149 -0
  21. data/lib/selenium/webdriver/{edge_chrome/bridge.rb → common/driver_extensions/has_logs.rb} +7 -7
  22. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
  23. data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +67 -0
  24. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +1 -0
  25. data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
  26. data/lib/selenium/webdriver/common/element.rb +66 -12
  27. data/lib/selenium/webdriver/common/interactions/interaction.rb +4 -1
  28. data/lib/selenium/webdriver/common/logger.rb +6 -3
  29. data/lib/selenium/webdriver/common/manager.rb +11 -1
  30. data/lib/selenium/webdriver/common/options.rb +90 -11
  31. data/lib/selenium/webdriver/common/platform.rb +3 -1
  32. data/lib/selenium/webdriver/common/port_prober.rb +4 -6
  33. data/lib/selenium/webdriver/common/proxy.rb +4 -1
  34. data/lib/selenium/webdriver/common/search_context.rb +4 -1
  35. data/lib/selenium/webdriver/common/service.rb +13 -114
  36. data/lib/selenium/webdriver/common/service_manager.rb +151 -0
  37. data/lib/selenium/webdriver/common/socket_poller.rb +19 -30
  38. data/lib/selenium/webdriver/common/takes_screenshot.rb +63 -0
  39. data/lib/selenium/webdriver/common/target_locator.rb +4 -4
  40. data/lib/selenium/webdriver/devtools.rb +144 -0
  41. data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
  42. data/lib/selenium/webdriver/{edge_html/driver.rb → devtools/exception_event.rb} +10 -13
  43. data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
  44. data/lib/selenium/webdriver/devtools/request.rb +57 -0
  45. data/lib/selenium/webdriver/edge.rb +7 -29
  46. data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +10 -4
  47. data/lib/selenium/webdriver/edge/features.rb +39 -0
  48. data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +12 -3
  49. data/lib/selenium/webdriver/{edge_chrome → edge}/profile.rb +2 -2
  50. data/lib/selenium/webdriver/{edge_chrome → edge}/service.rb +2 -2
  51. data/lib/selenium/webdriver/firefox.rb +5 -1
  52. data/lib/selenium/webdriver/firefox/driver.rb +19 -3
  53. data/lib/selenium/webdriver/firefox/{bridge.rb → features.rb} +3 -3
  54. data/lib/selenium/webdriver/firefox/options.rb +25 -31
  55. data/lib/selenium/webdriver/firefox/profile.rb +12 -2
  56. data/lib/selenium/webdriver/firefox/service.rb +1 -1
  57. data/lib/selenium/webdriver/ie/driver.rb +1 -2
  58. data/lib/selenium/webdriver/ie/options.rb +7 -20
  59. data/lib/selenium/webdriver/ie/service.rb +4 -2
  60. data/lib/selenium/webdriver/remote/bridge.rb +50 -42
  61. data/lib/selenium/webdriver/remote/capabilities.rb +127 -71
  62. data/lib/selenium/webdriver/remote/commands.rb +3 -0
  63. data/lib/selenium/webdriver/remote/driver.rb +10 -3
  64. data/lib/selenium/webdriver/remote/http/common.rb +0 -5
  65. data/lib/selenium/webdriver/remote/http/default.rb +8 -7
  66. data/lib/selenium/webdriver/remote/http/persistent.rb +6 -0
  67. data/lib/selenium/webdriver/safari.rb +8 -1
  68. data/lib/selenium/webdriver/safari/driver.rb +3 -4
  69. data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -3
  70. data/lib/selenium/webdriver/safari/options.rb +1 -33
  71. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
  72. data/lib/selenium/webdriver/support/color.rb +2 -2
  73. data/lib/selenium/webdriver/support/event_firing_bridge.rb +1 -1
  74. data/lib/selenium/webdriver/support/guards.rb +95 -0
  75. data/lib/selenium/webdriver/support/guards/guard.rb +89 -0
  76. data/lib/selenium/webdriver/support/guards/guard_condition.rb +52 -0
  77. data/lib/selenium/webdriver/support/select.rb +2 -2
  78. data/lib/selenium/webdriver/version.rb +1 -1
  79. metadata +69 -32
  80. data/CHANGES +0 -1725
  81. data/Gemfile +0 -4
  82. data/LICENSE +0 -202
  83. data/README.md +0 -35
  84. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -65
  85. data/lib/selenium/webdriver/edge_html/options.rb +0 -91
  86. data/lib/selenium/webdriver/edge_html/service.rb +0 -47
  87. data/selenium-webdriver.gemspec +0 -48
@@ -20,17 +20,17 @@
20
20
  module Selenium
21
21
  module WebDriver
22
22
  module Safari
23
- module Bridge
23
+ module Features
24
24
 
25
25
  # https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html
26
- COMMANDS = {
26
+ SAFARI_COMMANDS = {
27
27
  get_permissions: [:get, 'session/:session_id/apple/permissions'],
28
28
  set_permissions: [:post, 'session/:session_id/apple/permissions'],
29
29
  attach_debugger: [:post, 'session/:session_id/apple/attach_debugger']
30
30
  }.freeze
31
31
 
32
32
  def commands(command)
33
- COMMANDS[command] || super
33
+ SAFARI_COMMANDS[command] || self.class::COMMANDS[command]
34
34
  end
35
35
 
36
36
  def permissions
@@ -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
@@ -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
@@ -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,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
@@ -0,0 +1,52 @@
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 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
40
+ end
41
+
42
+ def satisfied?(guard)
43
+ list = Array(guard.guarded[@name])
44
+
45
+ list.empty? || @execution.call(list)
46
+ end
47
+
48
+ end # GuardCondition
49
+ end # Guards
50
+ end # Support
51
+ end # WebDriver
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.alpha5'
22
+ VERSION = '4.0.0.beta3'
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.alpha5
4
+ version: 4.0.0.beta3
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: 2020-03-18 00:00:00.000000000 Z
13
+ date: 2021-04-13 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: '4.0'
23
+ version: '5.0'
24
24
  name: childprocess
25
25
  prerelease: false
26
26
  type: :runtime
@@ -31,7 +31,21 @@ dependencies:
31
31
  version: '0.5'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
- version: '4.0'
34
+ version: '5.0'
35
+ - !ruby/object:Gem::Dependency
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
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'
35
49
  - !ruby/object:Gem::Dependency
36
50
  requirement: !ruby/object:Gem::Requirement
37
51
  requirements:
@@ -121,7 +135,7 @@ dependencies:
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 0.73.0
138
+ version: 1.8.0
125
139
  name: rubocop
126
140
  prerelease: false
127
141
  type: :development
@@ -129,7 +143,7 @@ dependencies:
129
143
  requirements:
130
144
  - - "~>"
131
145
  - !ruby/object:Gem::Version
132
- version: 0.73.0
146
+ version: 1.8.0
133
147
  - !ruby/object:Gem::Dependency
134
148
  requirement: !ruby/object:Gem::Requirement
135
149
  requirements:
@@ -172,6 +186,20 @@ dependencies:
172
186
  - - "~>"
173
187
  - !ruby/object:Gem::Version
174
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'
175
203
  - !ruby/object:Gem::Dependency
176
204
  requirement: !ruby/object:Gem::Requirement
177
205
  requirements:
@@ -186,9 +214,10 @@ dependencies:
186
214
  - - "~>"
187
215
  - !ruby/object:Gem::Version
188
216
  version: 0.9.11
189
- description: WebDriver is a tool for writing automated tests of websites. It aims
190
- to mimic the behaviour of a real user, and as such interacts with the HTML of the
191
- 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.
192
221
  email:
193
222
  - p0deje@gmail.com
194
223
  - titusfortner@gmail.com
@@ -197,20 +226,18 @@ executables: []
197
226
  extensions: []
198
227
  extra_rdoc_files: []
199
228
  files:
200
- - CHANGES
201
- - Gemfile
202
- - LICENSE
203
- - README.md
204
229
  - lib/selenium-webdriver.rb
230
+ - lib/selenium/devtools.rb
205
231
  - lib/selenium/server.rb
206
232
  - lib/selenium/webdriver.rb
207
233
  - lib/selenium/webdriver/atoms.rb
208
234
  - lib/selenium/webdriver/atoms/findElements.js
209
235
  - lib/selenium/webdriver/atoms/getAttribute.js
210
236
  - lib/selenium/webdriver/atoms/isDisplayed.js
237
+ - lib/selenium/webdriver/atoms/mutationListener.js
211
238
  - lib/selenium/webdriver/chrome.rb
212
- - lib/selenium/webdriver/chrome/bridge.rb
213
239
  - lib/selenium/webdriver/chrome/driver.rb
240
+ - lib/selenium/webdriver/chrome/features.rb
214
241
  - lib/selenium/webdriver/chrome/options.rb
215
242
  - lib/selenium/webdriver/chrome/profile.rb
216
243
  - lib/selenium/webdriver/chrome/service.rb
@@ -220,17 +247,20 @@ files:
220
247
  - lib/selenium/webdriver/common/driver.rb
221
248
  - lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
222
249
  - lib/selenium/webdriver/common/driver_extensions/has_addons.rb
250
+ - lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
223
251
  - lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
224
252
  - lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
225
253
  - lib/selenium/webdriver/common/driver_extensions/has_location.rb
254
+ - lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
255
+ - lib/selenium/webdriver/common/driver_extensions/has_logs.rb
226
256
  - lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
227
257
  - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
258
+ - lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
228
259
  - lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
229
260
  - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
230
261
  - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
231
262
  - lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
232
- - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
233
- - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
263
+ - lib/selenium/webdriver/common/driver_extensions/prints_page.rb
234
264
  - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
235
265
  - lib/selenium/webdriver/common/element.rb
236
266
  - lib/selenium/webdriver/common/error.rb
@@ -259,26 +289,30 @@ files:
259
289
  - lib/selenium/webdriver/common/proxy.rb
260
290
  - lib/selenium/webdriver/common/search_context.rb
261
291
  - lib/selenium/webdriver/common/service.rb
292
+ - lib/selenium/webdriver/common/service_manager.rb
262
293
  - lib/selenium/webdriver/common/socket_lock.rb
263
294
  - lib/selenium/webdriver/common/socket_poller.rb
295
+ - lib/selenium/webdriver/common/takes_screenshot.rb
264
296
  - lib/selenium/webdriver/common/target_locator.rb
265
297
  - lib/selenium/webdriver/common/timeouts.rb
266
298
  - lib/selenium/webdriver/common/wait.rb
267
299
  - lib/selenium/webdriver/common/window.rb
268
300
  - lib/selenium/webdriver/common/zipper.rb
301
+ - lib/selenium/webdriver/devtools.rb
302
+ - lib/selenium/webdriver/devtools/console_event.rb
303
+ - lib/selenium/webdriver/devtools/exception_event.rb
304
+ - lib/selenium/webdriver/devtools/mutation_event.rb
305
+ - lib/selenium/webdriver/devtools/request.rb
269
306
  - lib/selenium/webdriver/edge.rb
270
- - lib/selenium/webdriver/edge_chrome/bridge.rb
271
- - lib/selenium/webdriver/edge_chrome/driver.rb
272
- - lib/selenium/webdriver/edge_chrome/options.rb
273
- - lib/selenium/webdriver/edge_chrome/profile.rb
274
- - lib/selenium/webdriver/edge_chrome/service.rb
275
- - lib/selenium/webdriver/edge_html/driver.rb
276
- - lib/selenium/webdriver/edge_html/options.rb
277
- - lib/selenium/webdriver/edge_html/service.rb
307
+ - lib/selenium/webdriver/edge/driver.rb
308
+ - lib/selenium/webdriver/edge/features.rb
309
+ - lib/selenium/webdriver/edge/options.rb
310
+ - lib/selenium/webdriver/edge/profile.rb
311
+ - lib/selenium/webdriver/edge/service.rb
278
312
  - lib/selenium/webdriver/firefox.rb
279
- - lib/selenium/webdriver/firefox/bridge.rb
280
313
  - lib/selenium/webdriver/firefox/driver.rb
281
314
  - lib/selenium/webdriver/firefox/extension.rb
315
+ - lib/selenium/webdriver/firefox/features.rb
282
316
  - lib/selenium/webdriver/firefox/options.rb
283
317
  - lib/selenium/webdriver/firefox/profile.rb
284
318
  - lib/selenium/webdriver/firefox/profiles_ini.rb
@@ -299,8 +333,8 @@ files:
299
333
  - lib/selenium/webdriver/remote/response.rb
300
334
  - lib/selenium/webdriver/remote/server_error.rb
301
335
  - lib/selenium/webdriver/safari.rb
302
- - lib/selenium/webdriver/safari/bridge.rb
303
336
  - lib/selenium/webdriver/safari/driver.rb
337
+ - lib/selenium/webdriver/safari/features.rb
304
338
  - lib/selenium/webdriver/safari/options.rb
305
339
  - lib/selenium/webdriver/safari/service.rb
306
340
  - lib/selenium/webdriver/support.rb
@@ -309,16 +343,18 @@ files:
309
343
  - lib/selenium/webdriver/support/color.rb
310
344
  - lib/selenium/webdriver/support/escaper.rb
311
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
312
349
  - lib/selenium/webdriver/support/relative_locator.rb
313
350
  - lib/selenium/webdriver/support/select.rb
314
351
  - lib/selenium/webdriver/version.rb
315
- - selenium-webdriver.gemspec
316
- homepage: https://github.com/SeleniumHQ/selenium
352
+ homepage: https://selenium.dev
317
353
  licenses:
318
354
  - Apache-2.0
319
355
  metadata:
320
- changelog_uri: https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES
321
- source_code_uri: https://github.com/SeleniumHQ/selenium/tree/master/rb
356
+ changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
357
+ source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
322
358
  post_install_message:
323
359
  rdoc_options: []
324
360
  require_paths:
@@ -327,7 +363,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
327
363
  requirements:
328
364
  - - ">="
329
365
  - !ruby/object:Gem::Version
330
- version: '2.4'
366
+ version: '2.5'
331
367
  required_rubygems_version: !ruby/object:Gem::Requirement
332
368
  requirements:
333
369
  - - ">"
@@ -338,5 +374,6 @@ rubyforge_project:
338
374
  rubygems_version: 2.7.9
339
375
  signing_key:
340
376
  specification_version: 4
341
- 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
342
379
  test_files: []