selenium-webdriver 4.0.0.alpha5 → 4.0.0.beta3

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