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.
- checksums.yaml +4 -4
- data/lib/selenium/devtools.rb +30 -0
- data/lib/selenium/server.rb +18 -26
- data/lib/selenium/webdriver.rb +1 -3
- data/lib/selenium/webdriver/atoms/findElements.js +93 -93
- data/lib/selenium/webdriver/atoms/getAttribute.js +75 -59
- data/lib/selenium/webdriver/atoms/isDisplayed.js +72 -72
- data/lib/selenium/webdriver/atoms/mutationListener.js +55 -0
- data/lib/selenium/webdriver/chrome.rb +1 -1
- data/lib/selenium/webdriver/chrome/driver.rb +28 -6
- data/lib/selenium/webdriver/chrome/{bridge.rb → features.rb} +6 -8
- data/lib/selenium/webdriver/chrome/options.rb +54 -37
- data/lib/selenium/webdriver/chrome/profile.rb +6 -3
- data/lib/selenium/webdriver/chrome/service.rb +4 -2
- data/lib/selenium/webdriver/common.rb +7 -2
- data/lib/selenium/webdriver/common/driver.rb +86 -26
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +6 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +149 -0
- data/lib/selenium/webdriver/{edge_chrome/bridge.rb → common/driver_extensions/has_logs.rb} +7 -7
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +67 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +1 -0
- data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
- data/lib/selenium/webdriver/common/element.rb +66 -12
- data/lib/selenium/webdriver/common/interactions/interaction.rb +4 -1
- data/lib/selenium/webdriver/common/logger.rb +6 -3
- data/lib/selenium/webdriver/common/manager.rb +11 -1
- data/lib/selenium/webdriver/common/options.rb +90 -11
- data/lib/selenium/webdriver/common/platform.rb +3 -1
- data/lib/selenium/webdriver/common/port_prober.rb +4 -6
- data/lib/selenium/webdriver/common/proxy.rb +4 -1
- data/lib/selenium/webdriver/common/search_context.rb +4 -1
- data/lib/selenium/webdriver/common/service.rb +13 -114
- data/lib/selenium/webdriver/common/service_manager.rb +151 -0
- data/lib/selenium/webdriver/common/socket_poller.rb +19 -30
- data/lib/selenium/webdriver/common/takes_screenshot.rb +63 -0
- data/lib/selenium/webdriver/common/target_locator.rb +4 -4
- data/lib/selenium/webdriver/devtools.rb +144 -0
- data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
- data/lib/selenium/webdriver/{edge_html/driver.rb → devtools/exception_event.rb} +10 -13
- data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
- data/lib/selenium/webdriver/devtools/request.rb +57 -0
- data/lib/selenium/webdriver/edge.rb +7 -29
- data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +10 -4
- data/lib/selenium/webdriver/edge/features.rb +39 -0
- data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +12 -3
- data/lib/selenium/webdriver/{edge_chrome → edge}/profile.rb +2 -2
- data/lib/selenium/webdriver/{edge_chrome → edge}/service.rb +2 -2
- data/lib/selenium/webdriver/firefox.rb +5 -1
- data/lib/selenium/webdriver/firefox/driver.rb +19 -3
- data/lib/selenium/webdriver/firefox/{bridge.rb → features.rb} +3 -3
- data/lib/selenium/webdriver/firefox/options.rb +25 -31
- data/lib/selenium/webdriver/firefox/profile.rb +12 -2
- data/lib/selenium/webdriver/firefox/service.rb +1 -1
- data/lib/selenium/webdriver/ie/driver.rb +1 -2
- data/lib/selenium/webdriver/ie/options.rb +7 -20
- data/lib/selenium/webdriver/ie/service.rb +4 -2
- data/lib/selenium/webdriver/remote/bridge.rb +50 -42
- data/lib/selenium/webdriver/remote/capabilities.rb +127 -71
- data/lib/selenium/webdriver/remote/commands.rb +3 -0
- data/lib/selenium/webdriver/remote/driver.rb +10 -3
- data/lib/selenium/webdriver/remote/http/common.rb +0 -5
- data/lib/selenium/webdriver/remote/http/default.rb +8 -7
- data/lib/selenium/webdriver/remote/http/persistent.rb +6 -0
- data/lib/selenium/webdriver/safari.rb +8 -1
- data/lib/selenium/webdriver/safari/driver.rb +3 -4
- data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -3
- data/lib/selenium/webdriver/safari/options.rb +1 -33
- data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
- data/lib/selenium/webdriver/support/color.rb +2 -2
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +1 -1
- data/lib/selenium/webdriver/support/guards.rb +95 -0
- data/lib/selenium/webdriver/support/guards/guard.rb +89 -0
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +52 -0
- data/lib/selenium/webdriver/support/select.rb +2 -2
- data/lib/selenium/webdriver/version.rb +1 -1
- metadata +69 -32
- data/CHANGES +0 -1725
- data/Gemfile +0 -4
- data/LICENSE +0 -202
- data/README.md +0 -35
- data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -65
- data/lib/selenium/webdriver/edge_html/options.rb +0 -91
- data/lib/selenium/webdriver/edge_html/service.rb +0 -47
- data/selenium-webdriver.gemspec +0 -48
@@ -20,17 +20,17 @@
|
|
20
20
|
module Selenium
|
21
21
|
module WebDriver
|
22
22
|
module Safari
|
23
|
-
module
|
23
|
+
module Features
|
24
24
|
|
25
25
|
# https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html
|
26
|
-
|
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
|
-
|
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/
|
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/
|
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 '
|
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/
|
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.
|
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.
|
261
|
+
options.select { |option| option.dom_attribute(:index) == index.to_s }
|
262
262
|
end
|
263
263
|
|
264
264
|
def find_by_value(value)
|
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.
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
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:
|
190
|
-
|
191
|
-
|
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/
|
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/
|
271
|
-
- lib/selenium/webdriver/
|
272
|
-
- lib/selenium/webdriver/
|
273
|
-
- lib/selenium/webdriver/
|
274
|
-
- lib/selenium/webdriver/
|
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
|
-
|
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/
|
321
|
-
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/
|
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.
|
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:
|
377
|
+
summary: Selenium is a browser automation tool for automated testing of webapps and
|
378
|
+
more
|
342
379
|
test_files: []
|