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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +137 -4
  3. data/Gemfile +3 -1
  4. data/LICENSE +1 -1
  5. data/NOTICE +2 -0
  6. data/README.md +4 -5
  7. data/lib/selenium/server.rb +18 -26
  8. data/lib/selenium/webdriver.rb +1 -4
  9. data/lib/selenium/webdriver/atoms/findElements.js +93 -93
  10. data/lib/selenium/webdriver/atoms/getAttribute.js +75 -59
  11. data/lib/selenium/webdriver/atoms/isDisplayed.js +72 -72
  12. data/lib/selenium/webdriver/atoms/mutationListener.js +55 -0
  13. data/lib/selenium/webdriver/chrome.rb +1 -1
  14. data/lib/selenium/webdriver/chrome/driver.rb +25 -10
  15. data/lib/selenium/webdriver/chrome/{bridge.rb → features.rb} +3 -3
  16. data/lib/selenium/webdriver/chrome/options.rb +51 -39
  17. data/lib/selenium/webdriver/chrome/profile.rb +6 -3
  18. data/lib/selenium/webdriver/chrome/service.rb +4 -2
  19. data/lib/selenium/webdriver/common.rb +8 -2
  20. data/lib/selenium/webdriver/common/driver.rb +36 -8
  21. data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +43 -0
  22. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
  23. data/lib/selenium/webdriver/{edge_html/driver.rb → common/driver_extensions/has_cdp.rb} +12 -13
  24. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +6 -1
  25. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
  26. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +149 -0
  27. data/lib/selenium/webdriver/common/driver_extensions/has_logs.rb +30 -0
  28. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
  29. data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +67 -0
  30. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +1 -0
  31. data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
  32. data/lib/selenium/webdriver/common/element.rb +66 -12
  33. data/lib/selenium/webdriver/common/interactions/interaction.rb +4 -1
  34. data/lib/selenium/webdriver/common/logger.rb +5 -2
  35. data/lib/selenium/webdriver/common/manager.rb +6 -1
  36. data/lib/selenium/webdriver/common/options.rb +76 -14
  37. data/lib/selenium/webdriver/common/platform.rb +3 -1
  38. data/lib/selenium/webdriver/common/proxy.rb +6 -3
  39. data/lib/selenium/webdriver/common/search_context.rb +4 -1
  40. data/lib/selenium/webdriver/common/service.rb +1 -8
  41. data/lib/selenium/webdriver/common/service_manager.rb +1 -1
  42. data/lib/selenium/webdriver/common/socket_poller.rb +19 -30
  43. data/lib/selenium/webdriver/common/takes_screenshot.rb +66 -0
  44. data/lib/selenium/webdriver/common/target_locator.rb +4 -4
  45. data/lib/selenium/webdriver/devtools.rb +44 -18
  46. data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
  47. data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
  48. data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
  49. data/lib/selenium/webdriver/devtools/{console.rb → request.rb} +22 -22
  50. data/lib/selenium/webdriver/edge.rb +7 -29
  51. data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +8 -6
  52. data/lib/selenium/webdriver/{edge_chrome/bridge.rb → edge/features.rb} +9 -7
  53. data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +11 -4
  54. data/lib/selenium/webdriver/{edge_chrome → edge}/profile.rb +2 -2
  55. data/lib/selenium/webdriver/{edge_chrome → edge}/service.rb +2 -2
  56. data/lib/selenium/webdriver/firefox.rb +5 -1
  57. data/lib/selenium/webdriver/firefox/driver.rb +18 -5
  58. data/lib/selenium/webdriver/firefox/{bridge.rb → features.rb} +9 -4
  59. data/lib/selenium/webdriver/firefox/options.rb +20 -21
  60. data/lib/selenium/webdriver/firefox/profile.rb +12 -2
  61. data/lib/selenium/webdriver/firefox/service.rb +1 -1
  62. data/lib/selenium/webdriver/ie/driver.rb +1 -2
  63. data/lib/selenium/webdriver/ie/options.rb +1 -11
  64. data/lib/selenium/webdriver/ie/service.rb +4 -2
  65. data/lib/selenium/webdriver/remote/bridge.rb +48 -30
  66. data/lib/selenium/webdriver/remote/capabilities.rb +105 -64
  67. data/lib/selenium/webdriver/remote/commands.rb +3 -0
  68. data/lib/selenium/webdriver/remote/driver.rb +10 -3
  69. data/lib/selenium/webdriver/remote/http/common.rb +0 -5
  70. data/lib/selenium/webdriver/remote/http/default.rb +8 -7
  71. data/lib/selenium/webdriver/remote/http/persistent.rb +6 -0
  72. data/lib/selenium/webdriver/safari.rb +8 -1
  73. data/lib/selenium/webdriver/safari/driver.rb +3 -8
  74. data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -3
  75. data/lib/selenium/webdriver/safari/options.rb +0 -25
  76. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
  77. data/lib/selenium/webdriver/support/cdp/domain.rb.erb +63 -0
  78. data/lib/selenium/webdriver/support/cdp_client_generator.rb +44 -13
  79. data/lib/selenium/webdriver/support/event_firing_bridge.rb +1 -1
  80. data/lib/selenium/webdriver/support/guards.rb +95 -0
  81. data/lib/selenium/webdriver/support/guards/guard.rb +89 -0
  82. data/lib/selenium/webdriver/support/guards/guard_condition.rb +52 -0
  83. data/lib/selenium/webdriver/support/select.rb +2 -2
  84. data/lib/selenium/webdriver/version.rb +1 -1
  85. data/selenium-webdriver.gemspec +26 -12
  86. metadata +91 -108
  87. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -65
  88. data/lib/selenium/webdriver/devtools/accessibility.rb +0 -62
  89. data/lib/selenium/webdriver/devtools/animation.rb +0 -98
  90. data/lib/selenium/webdriver/devtools/application_cache.rb +0 -64
  91. data/lib/selenium/webdriver/devtools/audits.rb +0 -61
  92. data/lib/selenium/webdriver/devtools/background_service.rb +0 -67
  93. data/lib/selenium/webdriver/devtools/browser.rb +0 -123
  94. data/lib/selenium/webdriver/devtools/cache_storage.rb +0 -73
  95. data/lib/selenium/webdriver/devtools/cast.rb +0 -70
  96. data/lib/selenium/webdriver/devtools/css.rb +0 -165
  97. data/lib/selenium/webdriver/devtools/database.rb +0 -64
  98. data/lib/selenium/webdriver/devtools/debugger.rb +0 -229
  99. data/lib/selenium/webdriver/devtools/device_orientation.rb +0 -53
  100. data/lib/selenium/webdriver/devtools/dom.rb +0 -320
  101. data/lib/selenium/webdriver/devtools/domdebugger.rb +0 -93
  102. data/lib/selenium/webdriver/devtools/domsnapshot.rb +0 -65
  103. data/lib/selenium/webdriver/devtools/domstorage.rb +0 -79
  104. data/lib/selenium/webdriver/devtools/emulation.rb +0 -180
  105. data/lib/selenium/webdriver/devtools/fetch.rb +0 -97
  106. data/lib/selenium/webdriver/devtools/headless_experimental.rb +0 -61
  107. data/lib/selenium/webdriver/devtools/heap_profiler.rb +0 -107
  108. data/lib/selenium/webdriver/devtools/indexed_db.rb +0 -100
  109. data/lib/selenium/webdriver/devtools/input.rb +0 -140
  110. data/lib/selenium/webdriver/devtools/inspector.rb +0 -55
  111. data/lib/selenium/webdriver/devtools/io.rb +0 -59
  112. data/lib/selenium/webdriver/devtools/layer_tree.rb +0 -95
  113. data/lib/selenium/webdriver/devtools/log.rb +0 -66
  114. data/lib/selenium/webdriver/devtools/media.rb +0 -57
  115. data/lib/selenium/webdriver/devtools/memory.rb +0 -86
  116. data/lib/selenium/webdriver/devtools/network.rb +0 -228
  117. data/lib/selenium/webdriver/devtools/overlay.rb +0 -157
  118. data/lib/selenium/webdriver/devtools/page.rb +0 -374
  119. data/lib/selenium/webdriver/devtools/performance.rb +0 -63
  120. data/lib/selenium/webdriver/devtools/profiler.rb +0 -111
  121. data/lib/selenium/webdriver/devtools/runtime.rb +0 -193
  122. data/lib/selenium/webdriver/devtools/schema.rb +0 -46
  123. data/lib/selenium/webdriver/devtools/security.rb +0 -71
  124. data/lib/selenium/webdriver/devtools/service_worker.rb +0 -116
  125. data/lib/selenium/webdriver/devtools/storage.rb +0 -95
  126. data/lib/selenium/webdriver/devtools/system_info.rb +0 -50
  127. data/lib/selenium/webdriver/devtools/target.rb +0 -141
  128. data/lib/selenium/webdriver/devtools/tethering.rb +0 -55
  129. data/lib/selenium/webdriver/devtools/tracing.rb +0 -76
  130. data/lib/selenium/webdriver/devtools/web_audio.rb +0 -70
  131. data/lib/selenium/webdriver/devtools/web_authn.rb +0 -94
  132. data/lib/selenium/webdriver/edge_html/options.rb +0 -84
  133. 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.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.alpha6'
22
+ VERSION = '4.0.0.beta4'
23
23
  end # WebDriver
24
24
  end # Selenium
@@ -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 = ['p0deje@gmail.com', 'titusfortner@gmail.com', 'twalpole@gmail.com']
14
+ s.email = %w[p0deje@gmail.com titusfortner@gmail.com twalpole@gmail.com]
15
15
 
16
- s.summary = 'The next generation developer focused tool for automated testing of webapps'
17
- s.description = 'WebDriver is a tool for writing automated tests of websites. ' \
18
- 'It aims to mimic the behaviour of a real user, ' \
19
- 'and as such interacts with the HTML of the application.'
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://github.com/SeleniumHQ/selenium'
24
+ s.homepage = 'https://selenium.dev'
23
25
  s.metadata = {
24
- 'changelog_uri' => 'https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES',
25
- 'source_code_uri' => 'https://github.com/SeleniumHQ/selenium/tree/master/rb'
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 = Dir[root + '/**/*'].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub(root + '/', '') }
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', '< 4.0']
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', ['~> 0.84.0']
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.alpha6
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: 2020-05-28 00:00:00.000000000 Z
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: '4.0'
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: '4.0'
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: 1.2.2
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: 1.2.2
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: '1.0'
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: '1.0'
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: 0.84.0
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: 0.84.0
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: 0.9.11
181
- name: yard
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: 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.
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/rotatable.rb
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/accessibility.rb
272
- - lib/selenium/webdriver/devtools/animation.rb
273
- - lib/selenium/webdriver/devtools/application_cache.rb
274
- - lib/selenium/webdriver/devtools/audits.rb
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/edge_chrome/bridge.rb
318
- - lib/selenium/webdriver/edge_chrome/driver.rb
319
- - lib/selenium/webdriver/edge_chrome/options.rb
320
- - lib/selenium/webdriver/edge_chrome/profile.rb
321
- - lib/selenium/webdriver/edge_chrome/service.rb
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://github.com/SeleniumHQ/selenium
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/master/rb/CHANGES
369
- source_code_uri: https://github.com/SeleniumHQ/selenium/tree/master/rb
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
- rubyforge_project:
386
- rubygems_version: 2.7.9
387
- signing_key:
368
+ rubygems_version: 3.0.3
369
+ signing_key:
388
370
  specification_version: 4
389
- summary: The next generation developer focused tool for automated testing of webapps
371
+ summary: Selenium is a browser automation tool for automated testing of webapps and
372
+ more
390
373
  test_files: []