selenium-webdriver 4.0.0.alpha6 → 4.0.0.beta4
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/CHANGES +137 -4
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/NOTICE +2 -0
- data/README.md +4 -5
- data/lib/selenium/server.rb +18 -26
- data/lib/selenium/webdriver.rb +1 -4
- 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 +25 -10
- data/lib/selenium/webdriver/chrome/{bridge.rb → features.rb} +3 -3
- data/lib/selenium/webdriver/chrome/options.rb +51 -39
- data/lib/selenium/webdriver/chrome/profile.rb +6 -3
- data/lib/selenium/webdriver/chrome/service.rb +4 -2
- data/lib/selenium/webdriver/common.rb +8 -2
- data/lib/selenium/webdriver/common/driver.rb +36 -8
- data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +43 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
- data/lib/selenium/webdriver/{edge_html/driver.rb → common/driver_extensions/has_cdp.rb} +12 -13
- 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/common/driver_extensions/has_logs.rb +30 -0
- 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 +5 -2
- data/lib/selenium/webdriver/common/manager.rb +6 -1
- data/lib/selenium/webdriver/common/options.rb +76 -14
- data/lib/selenium/webdriver/common/platform.rb +3 -1
- data/lib/selenium/webdriver/common/proxy.rb +6 -3
- data/lib/selenium/webdriver/common/search_context.rb +4 -1
- data/lib/selenium/webdriver/common/service.rb +1 -8
- data/lib/selenium/webdriver/common/service_manager.rb +1 -1
- data/lib/selenium/webdriver/common/socket_poller.rb +19 -30
- data/lib/selenium/webdriver/common/takes_screenshot.rb +66 -0
- data/lib/selenium/webdriver/common/target_locator.rb +4 -4
- data/lib/selenium/webdriver/devtools.rb +44 -18
- data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
- data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
- data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
- data/lib/selenium/webdriver/devtools/{console.rb → request.rb} +22 -22
- data/lib/selenium/webdriver/edge.rb +7 -29
- data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +8 -6
- data/lib/selenium/webdriver/{edge_chrome/bridge.rb → edge/features.rb} +9 -7
- data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +11 -4
- 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 +18 -5
- data/lib/selenium/webdriver/firefox/{bridge.rb → features.rb} +9 -4
- data/lib/selenium/webdriver/firefox/options.rb +20 -21
- 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 +1 -11
- data/lib/selenium/webdriver/ie/service.rb +4 -2
- data/lib/selenium/webdriver/remote/bridge.rb +48 -30
- data/lib/selenium/webdriver/remote/capabilities.rb +105 -64
- 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 -8
- data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -3
- data/lib/selenium/webdriver/safari/options.rb +0 -25
- data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
- data/lib/selenium/webdriver/support/cdp/domain.rb.erb +63 -0
- data/lib/selenium/webdriver/support/cdp_client_generator.rb +44 -13
- 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
- data/selenium-webdriver.gemspec +26 -12
- metadata +91 -108
- data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -65
- data/lib/selenium/webdriver/devtools/accessibility.rb +0 -62
- data/lib/selenium/webdriver/devtools/animation.rb +0 -98
- data/lib/selenium/webdriver/devtools/application_cache.rb +0 -64
- data/lib/selenium/webdriver/devtools/audits.rb +0 -61
- data/lib/selenium/webdriver/devtools/background_service.rb +0 -67
- data/lib/selenium/webdriver/devtools/browser.rb +0 -123
- data/lib/selenium/webdriver/devtools/cache_storage.rb +0 -73
- data/lib/selenium/webdriver/devtools/cast.rb +0 -70
- data/lib/selenium/webdriver/devtools/css.rb +0 -165
- data/lib/selenium/webdriver/devtools/database.rb +0 -64
- data/lib/selenium/webdriver/devtools/debugger.rb +0 -229
- data/lib/selenium/webdriver/devtools/device_orientation.rb +0 -53
- data/lib/selenium/webdriver/devtools/dom.rb +0 -320
- data/lib/selenium/webdriver/devtools/domdebugger.rb +0 -93
- data/lib/selenium/webdriver/devtools/domsnapshot.rb +0 -65
- data/lib/selenium/webdriver/devtools/domstorage.rb +0 -79
- data/lib/selenium/webdriver/devtools/emulation.rb +0 -180
- data/lib/selenium/webdriver/devtools/fetch.rb +0 -97
- data/lib/selenium/webdriver/devtools/headless_experimental.rb +0 -61
- data/lib/selenium/webdriver/devtools/heap_profiler.rb +0 -107
- data/lib/selenium/webdriver/devtools/indexed_db.rb +0 -100
- data/lib/selenium/webdriver/devtools/input.rb +0 -140
- data/lib/selenium/webdriver/devtools/inspector.rb +0 -55
- data/lib/selenium/webdriver/devtools/io.rb +0 -59
- data/lib/selenium/webdriver/devtools/layer_tree.rb +0 -95
- data/lib/selenium/webdriver/devtools/log.rb +0 -66
- data/lib/selenium/webdriver/devtools/media.rb +0 -57
- data/lib/selenium/webdriver/devtools/memory.rb +0 -86
- data/lib/selenium/webdriver/devtools/network.rb +0 -228
- data/lib/selenium/webdriver/devtools/overlay.rb +0 -157
- data/lib/selenium/webdriver/devtools/page.rb +0 -374
- data/lib/selenium/webdriver/devtools/performance.rb +0 -63
- data/lib/selenium/webdriver/devtools/profiler.rb +0 -111
- data/lib/selenium/webdriver/devtools/runtime.rb +0 -193
- data/lib/selenium/webdriver/devtools/schema.rb +0 -46
- data/lib/selenium/webdriver/devtools/security.rb +0 -71
- data/lib/selenium/webdriver/devtools/service_worker.rb +0 -116
- data/lib/selenium/webdriver/devtools/storage.rb +0 -95
- data/lib/selenium/webdriver/devtools/system_info.rb +0 -50
- data/lib/selenium/webdriver/devtools/target.rb +0 -141
- data/lib/selenium/webdriver/devtools/tethering.rb +0 -55
- data/lib/selenium/webdriver/devtools/tracing.rb +0 -76
- data/lib/selenium/webdriver/devtools/web_audio.rb +0 -70
- data/lib/selenium/webdriver/devtools/web_authn.rb +0 -94
- data/lib/selenium/webdriver/edge_html/options.rb +0 -84
- data/lib/selenium/webdriver/edge_html/service.rb +0 -47
|
@@ -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)
|
data/selenium-webdriver.gemspec
CHANGED
|
@@ -11,38 +11,52 @@ Gem::Specification.new do |s|
|
|
|
11
11
|
s.version = Selenium::WebDriver::VERSION
|
|
12
12
|
|
|
13
13
|
s.authors = ['Alex Rodionov', 'Titus Fortner', 'Thomas Walpole']
|
|
14
|
-
s.email = [
|
|
14
|
+
s.email = %w[p0deje@gmail.com titusfortner@gmail.com twalpole@gmail.com]
|
|
15
15
|
|
|
16
|
-
s.summary = '
|
|
17
|
-
s.description =
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
s.summary = 'Selenium is a browser automation tool for automated testing of webapps and more'
|
|
17
|
+
s.description = <<-DESCRIPTION
|
|
18
|
+
Selenium implements the W3C WebDriver protocol to automate popular browsers.
|
|
19
|
+
It aims to mimic the behaviour of a real user as it interacts with the application's HTML.
|
|
20
|
+
It's primarily intended for web application testing, but any web-based task can automated.
|
|
21
|
+
DESCRIPTION
|
|
20
22
|
|
|
21
23
|
s.license = 'Apache-2.0'
|
|
22
|
-
s.homepage = 'https://
|
|
24
|
+
s.homepage = 'https://selenium.dev'
|
|
23
25
|
s.metadata = {
|
|
24
|
-
'changelog_uri' => 'https://github.com/SeleniumHQ/selenium/blob/
|
|
25
|
-
'source_code_uri' => 'https://github.com/SeleniumHQ/selenium/tree/
|
|
26
|
+
'changelog_uri' => 'https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES',
|
|
27
|
+
'source_code_uri' => 'https://github.com/SeleniumHQ/selenium/tree/trunk/rb'
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to? :required_rubygems_version=
|
|
29
31
|
s.required_ruby_version = Gem::Requirement.new('>= 2.5')
|
|
30
32
|
|
|
31
|
-
s.files =
|
|
33
|
+
s.files = [
|
|
34
|
+
'CHANGES',
|
|
35
|
+
'LICENSE',
|
|
36
|
+
'NOTICE',
|
|
37
|
+
'Gemfile',
|
|
38
|
+
'README.md',
|
|
39
|
+
'selenium-webdriver.gemspec',
|
|
40
|
+
'lib/selenium-webdriver.rb',
|
|
41
|
+
'lib/selenium/server.rb',
|
|
42
|
+
'lib/selenium/webdriver.rb'
|
|
43
|
+
] + Dir['lib/selenium/webdriver/**/*']
|
|
44
|
+
|
|
32
45
|
s.require_paths = ['lib']
|
|
33
46
|
|
|
34
|
-
s.add_runtime_dependency 'childprocess', ['>= 0.5', '<
|
|
47
|
+
s.add_runtime_dependency 'childprocess', ['>= 0.5', '< 5.0']
|
|
48
|
+
s.add_runtime_dependency 'rexml', ['~> 3.2']
|
|
35
49
|
s.add_runtime_dependency 'rubyzip', ['>= 1.2.2']
|
|
36
|
-
s.add_runtime_dependency 'websocket', ['~> 1.0']
|
|
37
50
|
|
|
38
51
|
# childprocess requires ffi on windows but doesn't declare it in its dependencies
|
|
39
52
|
s.add_development_dependency 'ffi'
|
|
40
53
|
s.add_development_dependency 'rack', ['~> 2.0']
|
|
41
54
|
s.add_development_dependency 'rake'
|
|
42
55
|
s.add_development_dependency 'rspec', ['~> 3.0']
|
|
43
|
-
s.add_development_dependency 'rubocop', ['~>
|
|
56
|
+
s.add_development_dependency 'rubocop', ['~> 1.8.0']
|
|
44
57
|
s.add_development_dependency 'rubocop-performance'
|
|
45
58
|
s.add_development_dependency 'rubocop-rspec'
|
|
46
59
|
s.add_development_dependency 'webmock', ['~> 3.5']
|
|
60
|
+
s.add_development_dependency 'webrick', ['~> 1.7']
|
|
47
61
|
s.add_development_dependency 'yard', ['~> 0.9.11']
|
|
48
62
|
end
|
metadata
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
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.beta4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Rodionov
|
|
8
8
|
- Titus Fortner
|
|
9
9
|
- Thomas Walpole
|
|
10
|
-
autorequire:
|
|
10
|
+
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2021-06-07 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: childprocess
|
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
|
17
18
|
requirements:
|
|
18
19
|
- - ">="
|
|
@@ -20,10 +21,9 @@ dependencies:
|
|
|
20
21
|
version: '0.5'
|
|
21
22
|
- - "<"
|
|
22
23
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
24
|
-
name: childprocess
|
|
25
|
-
prerelease: false
|
|
24
|
+
version: '5.0'
|
|
26
25
|
type: :runtime
|
|
26
|
+
prerelease: false
|
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
28
|
requirements:
|
|
29
29
|
- - ">="
|
|
@@ -31,164 +31,179 @@ dependencies:
|
|
|
31
31
|
version: '0.5'
|
|
32
32
|
- - "<"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '
|
|
34
|
+
version: '5.0'
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
|
+
name: rexml
|
|
36
37
|
requirement: !ruby/object:Gem::Requirement
|
|
37
38
|
requirements:
|
|
38
|
-
- - "
|
|
39
|
+
- - "~>"
|
|
39
40
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
41
|
-
name: rubyzip
|
|
42
|
-
prerelease: false
|
|
41
|
+
version: '3.2'
|
|
43
42
|
type: :runtime
|
|
43
|
+
prerelease: false
|
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
|
-
- - "
|
|
46
|
+
- - "~>"
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version:
|
|
48
|
+
version: '3.2'
|
|
49
49
|
- !ruby/object:Gem::Dependency
|
|
50
|
+
name: rubyzip
|
|
50
51
|
requirement: !ruby/object:Gem::Requirement
|
|
51
52
|
requirements:
|
|
52
|
-
- - "
|
|
53
|
+
- - ">="
|
|
53
54
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
55
|
-
name: websocket
|
|
56
|
-
prerelease: false
|
|
55
|
+
version: 1.2.2
|
|
57
56
|
type: :runtime
|
|
57
|
+
prerelease: false
|
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
|
59
59
|
requirements:
|
|
60
|
-
- - "
|
|
60
|
+
- - ">="
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version:
|
|
62
|
+
version: 1.2.2
|
|
63
63
|
- !ruby/object:Gem::Dependency
|
|
64
|
+
name: ffi
|
|
64
65
|
requirement: !ruby/object:Gem::Requirement
|
|
65
66
|
requirements:
|
|
66
67
|
- - ">="
|
|
67
68
|
- !ruby/object:Gem::Version
|
|
68
69
|
version: '0'
|
|
69
|
-
name: ffi
|
|
70
|
-
prerelease: false
|
|
71
70
|
type: :development
|
|
71
|
+
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
73
|
requirements:
|
|
74
74
|
- - ">="
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
76
|
version: '0'
|
|
77
77
|
- !ruby/object:Gem::Dependency
|
|
78
|
+
name: rack
|
|
78
79
|
requirement: !ruby/object:Gem::Requirement
|
|
79
80
|
requirements:
|
|
80
81
|
- - "~>"
|
|
81
82
|
- !ruby/object:Gem::Version
|
|
82
83
|
version: '2.0'
|
|
83
|
-
name: rack
|
|
84
|
-
prerelease: false
|
|
85
84
|
type: :development
|
|
85
|
+
prerelease: false
|
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
|
87
87
|
requirements:
|
|
88
88
|
- - "~>"
|
|
89
89
|
- !ruby/object:Gem::Version
|
|
90
90
|
version: '2.0'
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
|
+
name: rake
|
|
92
93
|
requirement: !ruby/object:Gem::Requirement
|
|
93
94
|
requirements:
|
|
94
95
|
- - ">="
|
|
95
96
|
- !ruby/object:Gem::Version
|
|
96
97
|
version: '0'
|
|
97
|
-
name: rake
|
|
98
|
-
prerelease: false
|
|
99
98
|
type: :development
|
|
99
|
+
prerelease: false
|
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
|
101
101
|
requirements:
|
|
102
102
|
- - ">="
|
|
103
103
|
- !ruby/object:Gem::Version
|
|
104
104
|
version: '0'
|
|
105
105
|
- !ruby/object:Gem::Dependency
|
|
106
|
+
name: rspec
|
|
106
107
|
requirement: !ruby/object:Gem::Requirement
|
|
107
108
|
requirements:
|
|
108
109
|
- - "~>"
|
|
109
110
|
- !ruby/object:Gem::Version
|
|
110
111
|
version: '3.0'
|
|
111
|
-
name: rspec
|
|
112
|
-
prerelease: false
|
|
113
112
|
type: :development
|
|
113
|
+
prerelease: false
|
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
|
115
115
|
requirements:
|
|
116
116
|
- - "~>"
|
|
117
117
|
- !ruby/object:Gem::Version
|
|
118
118
|
version: '3.0'
|
|
119
119
|
- !ruby/object:Gem::Dependency
|
|
120
|
+
name: rubocop
|
|
120
121
|
requirement: !ruby/object:Gem::Requirement
|
|
121
122
|
requirements:
|
|
122
123
|
- - "~>"
|
|
123
124
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
125
|
-
name: rubocop
|
|
126
|
-
prerelease: false
|
|
125
|
+
version: 1.8.0
|
|
127
126
|
type: :development
|
|
127
|
+
prerelease: false
|
|
128
128
|
version_requirements: !ruby/object:Gem::Requirement
|
|
129
129
|
requirements:
|
|
130
130
|
- - "~>"
|
|
131
131
|
- !ruby/object:Gem::Version
|
|
132
|
-
version:
|
|
132
|
+
version: 1.8.0
|
|
133
133
|
- !ruby/object:Gem::Dependency
|
|
134
|
+
name: rubocop-performance
|
|
134
135
|
requirement: !ruby/object:Gem::Requirement
|
|
135
136
|
requirements:
|
|
136
137
|
- - ">="
|
|
137
138
|
- !ruby/object:Gem::Version
|
|
138
139
|
version: '0'
|
|
139
|
-
name: rubocop-performance
|
|
140
|
-
prerelease: false
|
|
141
140
|
type: :development
|
|
141
|
+
prerelease: false
|
|
142
142
|
version_requirements: !ruby/object:Gem::Requirement
|
|
143
143
|
requirements:
|
|
144
144
|
- - ">="
|
|
145
145
|
- !ruby/object:Gem::Version
|
|
146
146
|
version: '0'
|
|
147
147
|
- !ruby/object:Gem::Dependency
|
|
148
|
+
name: rubocop-rspec
|
|
148
149
|
requirement: !ruby/object:Gem::Requirement
|
|
149
150
|
requirements:
|
|
150
151
|
- - ">="
|
|
151
152
|
- !ruby/object:Gem::Version
|
|
152
153
|
version: '0'
|
|
153
|
-
name: rubocop-rspec
|
|
154
|
-
prerelease: false
|
|
155
154
|
type: :development
|
|
155
|
+
prerelease: false
|
|
156
156
|
version_requirements: !ruby/object:Gem::Requirement
|
|
157
157
|
requirements:
|
|
158
158
|
- - ">="
|
|
159
159
|
- !ruby/object:Gem::Version
|
|
160
160
|
version: '0'
|
|
161
161
|
- !ruby/object:Gem::Dependency
|
|
162
|
+
name: webmock
|
|
162
163
|
requirement: !ruby/object:Gem::Requirement
|
|
163
164
|
requirements:
|
|
164
165
|
- - "~>"
|
|
165
166
|
- !ruby/object:Gem::Version
|
|
166
167
|
version: '3.5'
|
|
167
|
-
name: webmock
|
|
168
|
-
prerelease: false
|
|
169
168
|
type: :development
|
|
169
|
+
prerelease: false
|
|
170
170
|
version_requirements: !ruby/object:Gem::Requirement
|
|
171
171
|
requirements:
|
|
172
172
|
- - "~>"
|
|
173
173
|
- !ruby/object:Gem::Version
|
|
174
174
|
version: '3.5'
|
|
175
175
|
- !ruby/object:Gem::Dependency
|
|
176
|
+
name: webrick
|
|
176
177
|
requirement: !ruby/object:Gem::Requirement
|
|
177
178
|
requirements:
|
|
178
179
|
- - "~>"
|
|
179
180
|
- !ruby/object:Gem::Version
|
|
180
|
-
version:
|
|
181
|
-
|
|
181
|
+
version: '1.7'
|
|
182
|
+
type: :development
|
|
182
183
|
prerelease: false
|
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
+
requirements:
|
|
186
|
+
- - "~>"
|
|
187
|
+
- !ruby/object:Gem::Version
|
|
188
|
+
version: '1.7'
|
|
189
|
+
- !ruby/object:Gem::Dependency
|
|
190
|
+
name: yard
|
|
191
|
+
requirement: !ruby/object:Gem::Requirement
|
|
192
|
+
requirements:
|
|
193
|
+
- - "~>"
|
|
194
|
+
- !ruby/object:Gem::Version
|
|
195
|
+
version: 0.9.11
|
|
183
196
|
type: :development
|
|
197
|
+
prerelease: false
|
|
184
198
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
199
|
requirements:
|
|
186
200
|
- - "~>"
|
|
187
201
|
- !ruby/object:Gem::Version
|
|
188
202
|
version: 0.9.11
|
|
189
|
-
description:
|
|
190
|
-
|
|
191
|
-
|
|
203
|
+
description: |2
|
|
204
|
+
Selenium implements the W3C WebDriver protocol to automate popular browsers.
|
|
205
|
+
It aims to mimic the behaviour of a real user as it interacts with the application's HTML.
|
|
206
|
+
It's primarily intended for web application testing, but any web-based task can automated.
|
|
192
207
|
email:
|
|
193
208
|
- p0deje@gmail.com
|
|
194
209
|
- titusfortner@gmail.com
|
|
@@ -200,6 +215,7 @@ files:
|
|
|
200
215
|
- CHANGES
|
|
201
216
|
- Gemfile
|
|
202
217
|
- LICENSE
|
|
218
|
+
- NOTICE
|
|
203
219
|
- README.md
|
|
204
220
|
- lib/selenium-webdriver.rb
|
|
205
221
|
- lib/selenium/server.rb
|
|
@@ -208,9 +224,10 @@ files:
|
|
|
208
224
|
- lib/selenium/webdriver/atoms/findElements.js
|
|
209
225
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
|
210
226
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
|
227
|
+
- lib/selenium/webdriver/atoms/mutationListener.js
|
|
211
228
|
- lib/selenium/webdriver/chrome.rb
|
|
212
|
-
- lib/selenium/webdriver/chrome/bridge.rb
|
|
213
229
|
- lib/selenium/webdriver/chrome/driver.rb
|
|
230
|
+
- lib/selenium/webdriver/chrome/features.rb
|
|
214
231
|
- lib/selenium/webdriver/chrome/options.rb
|
|
215
232
|
- lib/selenium/webdriver/chrome/profile.rb
|
|
216
233
|
- lib/selenium/webdriver/chrome/service.rb
|
|
@@ -219,18 +236,23 @@ files:
|
|
|
219
236
|
- lib/selenium/webdriver/common/alert.rb
|
|
220
237
|
- lib/selenium/webdriver/common/driver.rb
|
|
221
238
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
|
239
|
+
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
|
222
240
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
|
241
|
+
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
|
242
|
+
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
|
223
243
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
|
224
244
|
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
|
225
245
|
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
|
246
|
+
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
|
247
|
+
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
|
226
248
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
|
227
249
|
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
|
250
|
+
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
|
228
251
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
|
229
252
|
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
|
230
253
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
|
231
254
|
- 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
|
|
255
|
+
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
234
256
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
|
235
257
|
- lib/selenium/webdriver/common/element.rb
|
|
236
258
|
- lib/selenium/webdriver/common/error.rb
|
|
@@ -262,70 +284,27 @@ files:
|
|
|
262
284
|
- lib/selenium/webdriver/common/service_manager.rb
|
|
263
285
|
- lib/selenium/webdriver/common/socket_lock.rb
|
|
264
286
|
- lib/selenium/webdriver/common/socket_poller.rb
|
|
287
|
+
- lib/selenium/webdriver/common/takes_screenshot.rb
|
|
265
288
|
- lib/selenium/webdriver/common/target_locator.rb
|
|
266
289
|
- lib/selenium/webdriver/common/timeouts.rb
|
|
267
290
|
- lib/selenium/webdriver/common/wait.rb
|
|
268
291
|
- lib/selenium/webdriver/common/window.rb
|
|
269
292
|
- lib/selenium/webdriver/common/zipper.rb
|
|
270
293
|
- lib/selenium/webdriver/devtools.rb
|
|
271
|
-
- lib/selenium/webdriver/devtools/
|
|
272
|
-
- lib/selenium/webdriver/devtools/
|
|
273
|
-
- lib/selenium/webdriver/devtools/
|
|
274
|
-
- lib/selenium/webdriver/devtools/
|
|
275
|
-
- lib/selenium/webdriver/devtools/background_service.rb
|
|
276
|
-
- lib/selenium/webdriver/devtools/browser.rb
|
|
277
|
-
- lib/selenium/webdriver/devtools/cache_storage.rb
|
|
278
|
-
- lib/selenium/webdriver/devtools/cast.rb
|
|
279
|
-
- lib/selenium/webdriver/devtools/console.rb
|
|
280
|
-
- lib/selenium/webdriver/devtools/css.rb
|
|
281
|
-
- lib/selenium/webdriver/devtools/database.rb
|
|
282
|
-
- lib/selenium/webdriver/devtools/debugger.rb
|
|
283
|
-
- lib/selenium/webdriver/devtools/device_orientation.rb
|
|
284
|
-
- lib/selenium/webdriver/devtools/dom.rb
|
|
285
|
-
- lib/selenium/webdriver/devtools/domdebugger.rb
|
|
286
|
-
- lib/selenium/webdriver/devtools/domsnapshot.rb
|
|
287
|
-
- lib/selenium/webdriver/devtools/domstorage.rb
|
|
288
|
-
- lib/selenium/webdriver/devtools/emulation.rb
|
|
289
|
-
- lib/selenium/webdriver/devtools/fetch.rb
|
|
290
|
-
- lib/selenium/webdriver/devtools/headless_experimental.rb
|
|
291
|
-
- lib/selenium/webdriver/devtools/heap_profiler.rb
|
|
292
|
-
- lib/selenium/webdriver/devtools/indexed_db.rb
|
|
293
|
-
- lib/selenium/webdriver/devtools/input.rb
|
|
294
|
-
- lib/selenium/webdriver/devtools/inspector.rb
|
|
295
|
-
- lib/selenium/webdriver/devtools/io.rb
|
|
296
|
-
- lib/selenium/webdriver/devtools/layer_tree.rb
|
|
297
|
-
- lib/selenium/webdriver/devtools/log.rb
|
|
298
|
-
- lib/selenium/webdriver/devtools/media.rb
|
|
299
|
-
- lib/selenium/webdriver/devtools/memory.rb
|
|
300
|
-
- lib/selenium/webdriver/devtools/network.rb
|
|
301
|
-
- lib/selenium/webdriver/devtools/overlay.rb
|
|
302
|
-
- lib/selenium/webdriver/devtools/page.rb
|
|
303
|
-
- lib/selenium/webdriver/devtools/performance.rb
|
|
304
|
-
- lib/selenium/webdriver/devtools/profiler.rb
|
|
305
|
-
- lib/selenium/webdriver/devtools/runtime.rb
|
|
306
|
-
- lib/selenium/webdriver/devtools/schema.rb
|
|
307
|
-
- lib/selenium/webdriver/devtools/security.rb
|
|
308
|
-
- lib/selenium/webdriver/devtools/service_worker.rb
|
|
309
|
-
- lib/selenium/webdriver/devtools/storage.rb
|
|
310
|
-
- lib/selenium/webdriver/devtools/system_info.rb
|
|
311
|
-
- lib/selenium/webdriver/devtools/target.rb
|
|
312
|
-
- lib/selenium/webdriver/devtools/tethering.rb
|
|
313
|
-
- lib/selenium/webdriver/devtools/tracing.rb
|
|
314
|
-
- lib/selenium/webdriver/devtools/web_audio.rb
|
|
315
|
-
- lib/selenium/webdriver/devtools/web_authn.rb
|
|
294
|
+
- lib/selenium/webdriver/devtools/console_event.rb
|
|
295
|
+
- lib/selenium/webdriver/devtools/exception_event.rb
|
|
296
|
+
- lib/selenium/webdriver/devtools/mutation_event.rb
|
|
297
|
+
- lib/selenium/webdriver/devtools/request.rb
|
|
316
298
|
- lib/selenium/webdriver/edge.rb
|
|
317
|
-
- lib/selenium/webdriver/
|
|
318
|
-
- lib/selenium/webdriver/
|
|
319
|
-
- lib/selenium/webdriver/
|
|
320
|
-
- lib/selenium/webdriver/
|
|
321
|
-
- lib/selenium/webdriver/
|
|
322
|
-
- lib/selenium/webdriver/edge_html/driver.rb
|
|
323
|
-
- lib/selenium/webdriver/edge_html/options.rb
|
|
324
|
-
- lib/selenium/webdriver/edge_html/service.rb
|
|
299
|
+
- lib/selenium/webdriver/edge/driver.rb
|
|
300
|
+
- lib/selenium/webdriver/edge/features.rb
|
|
301
|
+
- lib/selenium/webdriver/edge/options.rb
|
|
302
|
+
- lib/selenium/webdriver/edge/profile.rb
|
|
303
|
+
- lib/selenium/webdriver/edge/service.rb
|
|
325
304
|
- lib/selenium/webdriver/firefox.rb
|
|
326
|
-
- lib/selenium/webdriver/firefox/bridge.rb
|
|
327
305
|
- lib/selenium/webdriver/firefox/driver.rb
|
|
328
306
|
- lib/selenium/webdriver/firefox/extension.rb
|
|
307
|
+
- lib/selenium/webdriver/firefox/features.rb
|
|
329
308
|
- lib/selenium/webdriver/firefox/options.rb
|
|
330
309
|
- lib/selenium/webdriver/firefox/profile.rb
|
|
331
310
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
|
@@ -346,28 +325,32 @@ files:
|
|
|
346
325
|
- lib/selenium/webdriver/remote/response.rb
|
|
347
326
|
- lib/selenium/webdriver/remote/server_error.rb
|
|
348
327
|
- lib/selenium/webdriver/safari.rb
|
|
349
|
-
- lib/selenium/webdriver/safari/bridge.rb
|
|
350
328
|
- lib/selenium/webdriver/safari/driver.rb
|
|
329
|
+
- lib/selenium/webdriver/safari/features.rb
|
|
351
330
|
- lib/selenium/webdriver/safari/options.rb
|
|
352
331
|
- lib/selenium/webdriver/safari/service.rb
|
|
353
332
|
- lib/selenium/webdriver/support.rb
|
|
354
333
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
|
355
334
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
|
335
|
+
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
|
356
336
|
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
|
357
337
|
- lib/selenium/webdriver/support/color.rb
|
|
358
338
|
- lib/selenium/webdriver/support/escaper.rb
|
|
359
339
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
|
340
|
+
- lib/selenium/webdriver/support/guards.rb
|
|
341
|
+
- lib/selenium/webdriver/support/guards/guard.rb
|
|
342
|
+
- lib/selenium/webdriver/support/guards/guard_condition.rb
|
|
360
343
|
- lib/selenium/webdriver/support/relative_locator.rb
|
|
361
344
|
- lib/selenium/webdriver/support/select.rb
|
|
362
345
|
- lib/selenium/webdriver/version.rb
|
|
363
346
|
- selenium-webdriver.gemspec
|
|
364
|
-
homepage: https://
|
|
347
|
+
homepage: https://selenium.dev
|
|
365
348
|
licenses:
|
|
366
349
|
- Apache-2.0
|
|
367
350
|
metadata:
|
|
368
|
-
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/
|
|
369
|
-
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/
|
|
370
|
-
post_install_message:
|
|
351
|
+
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
352
|
+
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
353
|
+
post_install_message:
|
|
371
354
|
rdoc_options: []
|
|
372
355
|
require_paths:
|
|
373
356
|
- lib
|
|
@@ -382,9 +365,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
382
365
|
- !ruby/object:Gem::Version
|
|
383
366
|
version: 1.3.1
|
|
384
367
|
requirements: []
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
signing_key:
|
|
368
|
+
rubygems_version: 3.0.3
|
|
369
|
+
signing_key:
|
|
388
370
|
specification_version: 4
|
|
389
|
-
summary:
|
|
371
|
+
summary: Selenium is a browser automation tool for automated testing of webapps and
|
|
372
|
+
more
|
|
390
373
|
test_files: []
|