selenium-webdriver 4.0.0.rc3 → 4.13.1
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 +338 -0
- data/Gemfile +2 -0
- data/LICENSE +1 -1
- data/NOTICE +1 -1
- data/README.md +2 -2
- data/bin/linux/selenium-manager +0 -0
- data/bin/macos/selenium-manager +0 -0
- data/bin/windows/selenium-manager.exe +0 -0
- data/lib/selenium/server.rb +90 -79
- data/lib/selenium/webdriver/atoms/findElements.js +5 -6
- data/lib/selenium/webdriver/atoms/getAttribute.js +0 -0
- data/lib/selenium/webdriver/atoms/isDisplayed.js +0 -0
- data/lib/selenium/webdriver/atoms/mutationListener.js +0 -0
- data/lib/selenium/webdriver/atoms.rb +2 -3
- data/lib/selenium/webdriver/bidi/browsing_context.rb +88 -0
- data/lib/selenium/webdriver/bidi/browsing_context_info.rb +35 -0
- data/lib/selenium/webdriver/bidi/log/base_log_entry.rb +35 -0
- data/lib/selenium/webdriver/bidi/log/console_log_entry.rb +35 -0
- data/lib/selenium/webdriver/{common/driver_extensions/has_location.rb → bidi/log/filter_by.rb} +14 -11
- data/lib/selenium/webdriver/bidi/log/generic_log_entry.rb +33 -0
- data/lib/selenium/webdriver/bidi/log/javascript_log_entry.rb +33 -0
- data/lib/selenium/webdriver/bidi/log_inspector.rb +143 -0
- data/lib/selenium/webdriver/bidi/navigate_result.rb +33 -0
- data/lib/selenium/webdriver/bidi/session.rb +51 -0
- data/lib/selenium/webdriver/bidi.rb +56 -0
- data/lib/selenium/webdriver/chrome/driver.rb +9 -29
- data/lib/selenium/webdriver/chrome/features.rb +6 -68
- data/lib/selenium/webdriver/chrome/options.rb +3 -223
- data/lib/selenium/webdriver/chrome/profile.rb +3 -83
- data/lib/selenium/webdriver/chrome/service.rb +4 -19
- data/lib/selenium/webdriver/chrome.rb +0 -16
- data/lib/selenium/webdriver/chromium/driver.rb +60 -0
- data/lib/selenium/webdriver/chromium/features.rb +103 -0
- data/lib/selenium/webdriver/chromium/options.rb +243 -0
- data/lib/selenium/webdriver/chromium/profile.rb +113 -0
- data/lib/selenium/webdriver/chromium.rb +29 -0
- data/lib/selenium/webdriver/common/action_builder.rb +62 -22
- data/lib/selenium/webdriver/common/child_process.rb +124 -0
- data/lib/selenium/webdriver/common/driver.rb +31 -81
- data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +0 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_bidi.rb} +10 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +10 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +1 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +1 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +9 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +2 -69
- data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +1 -3
- data/lib/selenium/webdriver/common/driver_finder.rb +45 -0
- data/lib/selenium/webdriver/common/element.rb +8 -8
- data/lib/selenium/webdriver/common/error.rb +28 -5
- data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +2 -2
- data/lib/selenium/webdriver/common/interactions/input_device.rb +10 -4
- data/lib/selenium/webdriver/common/interactions/interaction.rb +12 -25
- data/lib/selenium/webdriver/common/interactions/interactions.rb +24 -4
- data/lib/selenium/webdriver/common/interactions/key_actions.rb +5 -1
- data/lib/selenium/webdriver/common/interactions/key_input.rb +11 -27
- data/lib/selenium/webdriver/common/interactions/none_input.rb +10 -8
- data/lib/selenium/webdriver/common/interactions/pause.rb +49 -0
- data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +59 -70
- data/lib/selenium/webdriver/common/{driver_extensions/has_network_connection.rb → interactions/pointer_cancel.rb} +19 -11
- data/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb +63 -0
- data/lib/selenium/webdriver/common/interactions/pointer_input.rb +15 -84
- data/lib/selenium/webdriver/common/interactions/pointer_move.rb +60 -0
- data/lib/selenium/webdriver/common/interactions/pointer_press.rb +85 -0
- data/lib/selenium/webdriver/common/interactions/scroll.rb +59 -0
- data/lib/selenium/webdriver/common/interactions/scroll_origin.rb +48 -0
- data/lib/selenium/webdriver/common/interactions/typing_interaction.rb +54 -0
- data/lib/selenium/webdriver/common/interactions/wheel_actions.rb +113 -0
- data/lib/selenium/webdriver/common/interactions/wheel_input.rb +42 -0
- data/lib/selenium/webdriver/common/keys.rb +1 -0
- data/lib/selenium/webdriver/common/local_driver.rb +46 -0
- data/lib/selenium/webdriver/common/logger.rb +90 -25
- data/lib/selenium/webdriver/common/manager.rb +0 -27
- data/lib/selenium/webdriver/common/options.rb +14 -20
- data/lib/selenium/webdriver/common/platform.rb +5 -51
- data/lib/selenium/webdriver/common/port_prober.rb +1 -1
- data/lib/selenium/webdriver/common/profile_helper.rb +2 -8
- data/lib/selenium/webdriver/common/proxy.rb +2 -2
- data/lib/selenium/webdriver/common/search_context.rb +0 -6
- data/lib/selenium/webdriver/common/selenium_manager.rb +134 -0
- data/lib/selenium/webdriver/common/service.rb +21 -30
- data/lib/selenium/webdriver/common/service_manager.rb +8 -15
- data/lib/selenium/webdriver/common/shadow_root.rb +2 -3
- data/lib/selenium/webdriver/common/socket_lock.rb +3 -3
- data/lib/selenium/webdriver/common/socket_poller.rb +31 -20
- data/lib/selenium/webdriver/common/takes_screenshot.rb +2 -3
- data/lib/selenium/webdriver/common/target_locator.rb +2 -3
- data/lib/selenium/webdriver/common/timeouts.rb +2 -2
- data/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +85 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +72 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
- data/lib/selenium/webdriver/common/websocket_connection.rb +164 -0
- data/lib/selenium/webdriver/common/window.rb +6 -6
- data/lib/selenium/webdriver/common/zipper.rb +4 -10
- data/lib/selenium/webdriver/common.rb +21 -5
- data/lib/selenium/webdriver/devtools/console_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/exception_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/mutation_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/network_interceptor.rb +173 -0
- data/lib/selenium/webdriver/devtools/pinned_script.rb +0 -2
- data/lib/selenium/webdriver/devtools/request.rb +1 -3
- data/lib/selenium/webdriver/devtools/response.rb +1 -3
- data/lib/selenium/webdriver/devtools.rb +17 -103
- data/lib/selenium/webdriver/edge/driver.rb +9 -3
- data/lib/selenium/webdriver/edge/features.rb +4 -4
- data/lib/selenium/webdriver/edge/options.rb +17 -5
- data/lib/selenium/webdriver/edge/profile.rb +2 -2
- data/lib/selenium/webdriver/edge/service.rb +8 -7
- data/lib/selenium/webdriver/edge.rb +0 -2
- data/lib/selenium/webdriver/firefox/driver.rb +9 -2
- data/lib/selenium/webdriver/firefox/features.rb +6 -6
- data/lib/selenium/webdriver/firefox/options.rb +9 -14
- data/lib/selenium/webdriver/firefox/profile.rb +8 -12
- data/lib/selenium/webdriver/firefox/service.rb +0 -18
- data/lib/selenium/webdriver/firefox/util.rb +46 -0
- data/lib/selenium/webdriver/firefox.rb +1 -14
- data/lib/selenium/webdriver/ie/driver.rb +7 -1
- data/lib/selenium/webdriver/ie/options.rb +2 -1
- data/lib/selenium/webdriver/ie/service.rb +0 -22
- data/lib/selenium/webdriver/ie.rb +0 -14
- data/lib/selenium/webdriver/remote/{commands.rb → bridge/commands.rb} +15 -8
- data/lib/selenium/webdriver/remote/bridge.rb +70 -37
- data/lib/selenium/webdriver/remote/capabilities.rb +3 -53
- data/lib/selenium/webdriver/remote/driver.rb +31 -14
- data/lib/selenium/webdriver/remote/http/common.rb +3 -3
- data/lib/selenium/webdriver/remote/http/curb.rb +1 -3
- data/lib/selenium/webdriver/remote/http/default.rb +8 -14
- data/lib/selenium/webdriver/remote/response.rb +2 -3
- data/lib/selenium/webdriver/remote/server_error.rb +1 -1
- data/lib/selenium/webdriver/remote.rb +5 -5
- data/lib/selenium/webdriver/safari/driver.rb +7 -1
- data/lib/selenium/webdriver/safari/features.rb +0 -2
- data/lib/selenium/webdriver/safari/options.rb +5 -1
- data/lib/selenium/webdriver/safari/service.rb +10 -4
- data/lib/selenium/webdriver/safari.rb +1 -15
- data/lib/selenium/webdriver/support/color.rb +22 -22
- data/lib/selenium/webdriver/support/guards/guard.rb +0 -2
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +1 -3
- data/lib/selenium/webdriver/support/guards.rb +1 -1
- data/lib/selenium/webdriver/support/relative_locator.rb +0 -1
- data/lib/selenium/webdriver/support/select.rb +4 -2
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +7 -5
- data/selenium-webdriver.gemspec +15 -13
- metadata +79 -65
- data/lib/selenium/webdriver/remote/http/persistent.rb +0 -65
- data/lib/selenium/webdriver/support/cdp/domain.rb.erb +0 -63
- data/lib/selenium/webdriver/support/cdp_client_generator.rb +0 -108
metadata
CHANGED
|
@@ -1,37 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: selenium-webdriver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.13.1
|
|
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: 2023-09-26 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: childprocess
|
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
|
18
|
-
requirements:
|
|
19
|
-
- - ">="
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '0.5'
|
|
22
|
-
- - "<"
|
|
23
|
-
- !ruby/object:Gem::Version
|
|
24
|
-
version: '5.0'
|
|
25
|
-
type: :runtime
|
|
26
|
-
prerelease: false
|
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
28
|
-
requirements:
|
|
29
|
-
- - ">="
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
version: '0.5'
|
|
32
|
-
- - "<"
|
|
33
|
-
- !ruby/object:Gem::Version
|
|
34
|
-
version: '5.0'
|
|
35
15
|
- !ruby/object:Gem::Dependency
|
|
36
16
|
name: rexml
|
|
37
17
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -39,6 +19,9 @@ dependencies:
|
|
|
39
19
|
- - "~>"
|
|
40
20
|
- !ruby/object:Gem::Version
|
|
41
21
|
version: '3.2'
|
|
22
|
+
- - ">="
|
|
23
|
+
- !ruby/object:Gem::Version
|
|
24
|
+
version: 3.2.5
|
|
42
25
|
type: :runtime
|
|
43
26
|
prerelease: false
|
|
44
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -46,6 +29,9 @@ dependencies:
|
|
|
46
29
|
- - "~>"
|
|
47
30
|
- !ruby/object:Gem::Version
|
|
48
31
|
version: '3.2'
|
|
32
|
+
- - ">="
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: 3.2.5
|
|
49
35
|
- !ruby/object:Gem::Dependency
|
|
50
36
|
name: rubyzip
|
|
51
37
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -53,6 +39,9 @@ dependencies:
|
|
|
53
39
|
- - ">="
|
|
54
40
|
- !ruby/object:Gem::Version
|
|
55
41
|
version: 1.2.2
|
|
42
|
+
- - "<"
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: '3.0'
|
|
56
45
|
type: :runtime
|
|
57
46
|
prerelease: false
|
|
58
47
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -60,34 +49,23 @@ dependencies:
|
|
|
60
49
|
- - ">="
|
|
61
50
|
- !ruby/object:Gem::Version
|
|
62
51
|
version: 1.2.2
|
|
63
|
-
-
|
|
64
|
-
name: ffi
|
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - ">="
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0'
|
|
70
|
-
type: :development
|
|
71
|
-
prerelease: false
|
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
requirements:
|
|
74
|
-
- - ">="
|
|
52
|
+
- - "<"
|
|
75
53
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '0'
|
|
54
|
+
version: '3.0'
|
|
77
55
|
- !ruby/object:Gem::Dependency
|
|
78
|
-
name:
|
|
56
|
+
name: websocket
|
|
79
57
|
requirement: !ruby/object:Gem::Requirement
|
|
80
58
|
requirements:
|
|
81
59
|
- - "~>"
|
|
82
60
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '0
|
|
84
|
-
type: :
|
|
61
|
+
version: '1.0'
|
|
62
|
+
type: :runtime
|
|
85
63
|
prerelease: false
|
|
86
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
87
65
|
requirements:
|
|
88
66
|
- - "~>"
|
|
89
67
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: '0
|
|
68
|
+
version: '1.0'
|
|
91
69
|
- !ruby/object:Gem::Dependency
|
|
92
70
|
name: rack
|
|
93
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,16 +84,16 @@ dependencies:
|
|
|
106
84
|
name: rake
|
|
107
85
|
requirement: !ruby/object:Gem::Requirement
|
|
108
86
|
requirements:
|
|
109
|
-
- - "
|
|
87
|
+
- - "~>"
|
|
110
88
|
- !ruby/object:Gem::Version
|
|
111
|
-
version: '0'
|
|
89
|
+
version: '13.0'
|
|
112
90
|
type: :development
|
|
113
91
|
prerelease: false
|
|
114
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
115
93
|
requirements:
|
|
116
|
-
- - "
|
|
94
|
+
- - "~>"
|
|
117
95
|
- !ruby/object:Gem::Version
|
|
118
|
-
version: '0'
|
|
96
|
+
version: '13.0'
|
|
119
97
|
- !ruby/object:Gem::Dependency
|
|
120
98
|
name: rspec
|
|
121
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,42 +114,42 @@ dependencies:
|
|
|
136
114
|
requirements:
|
|
137
115
|
- - "~>"
|
|
138
116
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 1.
|
|
117
|
+
version: '1.42'
|
|
140
118
|
type: :development
|
|
141
119
|
prerelease: false
|
|
142
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
143
121
|
requirements:
|
|
144
122
|
- - "~>"
|
|
145
123
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: 1.
|
|
124
|
+
version: '1.42'
|
|
147
125
|
- !ruby/object:Gem::Dependency
|
|
148
126
|
name: rubocop-performance
|
|
149
127
|
requirement: !ruby/object:Gem::Requirement
|
|
150
128
|
requirements:
|
|
151
|
-
- - "
|
|
129
|
+
- - "~>"
|
|
152
130
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: '
|
|
131
|
+
version: '1.15'
|
|
154
132
|
type: :development
|
|
155
133
|
prerelease: false
|
|
156
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
157
135
|
requirements:
|
|
158
|
-
- - "
|
|
136
|
+
- - "~>"
|
|
159
137
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: '
|
|
138
|
+
version: '1.15'
|
|
161
139
|
- !ruby/object:Gem::Dependency
|
|
162
140
|
name: rubocop-rspec
|
|
163
141
|
requirement: !ruby/object:Gem::Requirement
|
|
164
142
|
requirements:
|
|
165
|
-
- - "
|
|
143
|
+
- - "~>"
|
|
166
144
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: '
|
|
145
|
+
version: '2.16'
|
|
168
146
|
type: :development
|
|
169
147
|
prerelease: false
|
|
170
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
171
149
|
requirements:
|
|
172
|
-
- - "
|
|
150
|
+
- - "~>"
|
|
173
151
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: '
|
|
152
|
+
version: '2.16'
|
|
175
153
|
- !ruby/object:Gem::Dependency
|
|
176
154
|
name: webmock
|
|
177
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -231,6 +209,9 @@ files:
|
|
|
231
209
|
- LICENSE
|
|
232
210
|
- NOTICE
|
|
233
211
|
- README.md
|
|
212
|
+
- bin/linux/selenium-manager
|
|
213
|
+
- bin/macos/selenium-manager
|
|
214
|
+
- bin/windows/selenium-manager.exe
|
|
234
215
|
- lib/selenium-webdriver.rb
|
|
235
216
|
- lib/selenium/server.rb
|
|
236
217
|
- lib/selenium/webdriver.rb
|
|
@@ -239,40 +220,56 @@ files:
|
|
|
239
220
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
|
240
221
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
|
241
222
|
- lib/selenium/webdriver/atoms/mutationListener.js
|
|
223
|
+
- lib/selenium/webdriver/bidi.rb
|
|
224
|
+
- lib/selenium/webdriver/bidi/browsing_context.rb
|
|
225
|
+
- lib/selenium/webdriver/bidi/browsing_context_info.rb
|
|
226
|
+
- lib/selenium/webdriver/bidi/log/base_log_entry.rb
|
|
227
|
+
- lib/selenium/webdriver/bidi/log/console_log_entry.rb
|
|
228
|
+
- lib/selenium/webdriver/bidi/log/filter_by.rb
|
|
229
|
+
- lib/selenium/webdriver/bidi/log/generic_log_entry.rb
|
|
230
|
+
- lib/selenium/webdriver/bidi/log/javascript_log_entry.rb
|
|
231
|
+
- lib/selenium/webdriver/bidi/log_inspector.rb
|
|
232
|
+
- lib/selenium/webdriver/bidi/navigate_result.rb
|
|
233
|
+
- lib/selenium/webdriver/bidi/session.rb
|
|
242
234
|
- lib/selenium/webdriver/chrome.rb
|
|
243
235
|
- lib/selenium/webdriver/chrome/driver.rb
|
|
244
236
|
- lib/selenium/webdriver/chrome/features.rb
|
|
245
237
|
- lib/selenium/webdriver/chrome/options.rb
|
|
246
238
|
- lib/selenium/webdriver/chrome/profile.rb
|
|
247
239
|
- lib/selenium/webdriver/chrome/service.rb
|
|
240
|
+
- lib/selenium/webdriver/chromium.rb
|
|
241
|
+
- lib/selenium/webdriver/chromium/driver.rb
|
|
242
|
+
- lib/selenium/webdriver/chromium/features.rb
|
|
243
|
+
- lib/selenium/webdriver/chromium/options.rb
|
|
244
|
+
- lib/selenium/webdriver/chromium/profile.rb
|
|
248
245
|
- lib/selenium/webdriver/common.rb
|
|
249
246
|
- lib/selenium/webdriver/common/action_builder.rb
|
|
250
247
|
- lib/selenium/webdriver/common/alert.rb
|
|
248
|
+
- lib/selenium/webdriver/common/child_process.rb
|
|
251
249
|
- lib/selenium/webdriver/common/driver.rb
|
|
252
250
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
|
253
251
|
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
|
254
252
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
|
255
253
|
- lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
|
|
256
254
|
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
|
255
|
+
- lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
|
|
257
256
|
- lib/selenium/webdriver/common/driver_extensions/has_casting.rb
|
|
258
257
|
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
|
259
258
|
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
|
260
259
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
|
261
260
|
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
|
262
261
|
- lib/selenium/webdriver/common/driver_extensions/has_launching.rb
|
|
263
|
-
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
|
264
262
|
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
|
265
263
|
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
|
266
264
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
|
267
|
-
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
|
268
265
|
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
|
269
266
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
|
270
267
|
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
|
271
|
-
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
|
272
268
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
|
273
269
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
|
274
270
|
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
275
271
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
|
272
|
+
- lib/selenium/webdriver/common/driver_finder.rb
|
|
276
273
|
- lib/selenium/webdriver/common/element.rb
|
|
277
274
|
- lib/selenium/webdriver/common/error.rb
|
|
278
275
|
- lib/selenium/webdriver/common/file_reaper.rb
|
|
@@ -285,9 +282,20 @@ files:
|
|
|
285
282
|
- lib/selenium/webdriver/common/interactions/key_actions.rb
|
|
286
283
|
- lib/selenium/webdriver/common/interactions/key_input.rb
|
|
287
284
|
- lib/selenium/webdriver/common/interactions/none_input.rb
|
|
285
|
+
- lib/selenium/webdriver/common/interactions/pause.rb
|
|
288
286
|
- lib/selenium/webdriver/common/interactions/pointer_actions.rb
|
|
287
|
+
- lib/selenium/webdriver/common/interactions/pointer_cancel.rb
|
|
288
|
+
- lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
|
|
289
289
|
- lib/selenium/webdriver/common/interactions/pointer_input.rb
|
|
290
|
+
- lib/selenium/webdriver/common/interactions/pointer_move.rb
|
|
291
|
+
- lib/selenium/webdriver/common/interactions/pointer_press.rb
|
|
292
|
+
- lib/selenium/webdriver/common/interactions/scroll.rb
|
|
293
|
+
- lib/selenium/webdriver/common/interactions/scroll_origin.rb
|
|
294
|
+
- lib/selenium/webdriver/common/interactions/typing_interaction.rb
|
|
295
|
+
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
|
296
|
+
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
|
290
297
|
- lib/selenium/webdriver/common/keys.rb
|
|
298
|
+
- lib/selenium/webdriver/common/local_driver.rb
|
|
291
299
|
- lib/selenium/webdriver/common/log_entry.rb
|
|
292
300
|
- lib/selenium/webdriver/common/logger.rb
|
|
293
301
|
- lib/selenium/webdriver/common/logs.rb
|
|
@@ -299,6 +307,7 @@ files:
|
|
|
299
307
|
- lib/selenium/webdriver/common/profile_helper.rb
|
|
300
308
|
- lib/selenium/webdriver/common/proxy.rb
|
|
301
309
|
- lib/selenium/webdriver/common/search_context.rb
|
|
310
|
+
- lib/selenium/webdriver/common/selenium_manager.rb
|
|
302
311
|
- lib/selenium/webdriver/common/service.rb
|
|
303
312
|
- lib/selenium/webdriver/common/service_manager.rb
|
|
304
313
|
- lib/selenium/webdriver/common/shadow_root.rb
|
|
@@ -307,13 +316,18 @@ files:
|
|
|
307
316
|
- lib/selenium/webdriver/common/takes_screenshot.rb
|
|
308
317
|
- lib/selenium/webdriver/common/target_locator.rb
|
|
309
318
|
- lib/selenium/webdriver/common/timeouts.rb
|
|
319
|
+
- lib/selenium/webdriver/common/virtual_authenticator/credential.rb
|
|
320
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb
|
|
321
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb
|
|
310
322
|
- lib/selenium/webdriver/common/wait.rb
|
|
323
|
+
- lib/selenium/webdriver/common/websocket_connection.rb
|
|
311
324
|
- lib/selenium/webdriver/common/window.rb
|
|
312
325
|
- lib/selenium/webdriver/common/zipper.rb
|
|
313
326
|
- lib/selenium/webdriver/devtools.rb
|
|
314
327
|
- lib/selenium/webdriver/devtools/console_event.rb
|
|
315
328
|
- lib/selenium/webdriver/devtools/exception_event.rb
|
|
316
329
|
- lib/selenium/webdriver/devtools/mutation_event.rb
|
|
330
|
+
- lib/selenium/webdriver/devtools/network_interceptor.rb
|
|
317
331
|
- lib/selenium/webdriver/devtools/pinned_script.rb
|
|
318
332
|
- lib/selenium/webdriver/devtools/request.rb
|
|
319
333
|
- lib/selenium/webdriver/devtools/response.rb
|
|
@@ -331,19 +345,19 @@ files:
|
|
|
331
345
|
- lib/selenium/webdriver/firefox/profile.rb
|
|
332
346
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
|
333
347
|
- lib/selenium/webdriver/firefox/service.rb
|
|
348
|
+
- lib/selenium/webdriver/firefox/util.rb
|
|
334
349
|
- lib/selenium/webdriver/ie.rb
|
|
335
350
|
- lib/selenium/webdriver/ie/driver.rb
|
|
336
351
|
- lib/selenium/webdriver/ie/options.rb
|
|
337
352
|
- lib/selenium/webdriver/ie/service.rb
|
|
338
353
|
- lib/selenium/webdriver/remote.rb
|
|
339
354
|
- lib/selenium/webdriver/remote/bridge.rb
|
|
355
|
+
- lib/selenium/webdriver/remote/bridge/commands.rb
|
|
340
356
|
- lib/selenium/webdriver/remote/capabilities.rb
|
|
341
|
-
- lib/selenium/webdriver/remote/commands.rb
|
|
342
357
|
- lib/selenium/webdriver/remote/driver.rb
|
|
343
358
|
- lib/selenium/webdriver/remote/http/common.rb
|
|
344
359
|
- lib/selenium/webdriver/remote/http/curb.rb
|
|
345
360
|
- lib/selenium/webdriver/remote/http/default.rb
|
|
346
|
-
- lib/selenium/webdriver/remote/http/persistent.rb
|
|
347
361
|
- lib/selenium/webdriver/remote/response.rb
|
|
348
362
|
- lib/selenium/webdriver/remote/server_error.rb
|
|
349
363
|
- lib/selenium/webdriver/safari.rb
|
|
@@ -354,8 +368,6 @@ files:
|
|
|
354
368
|
- lib/selenium/webdriver/support.rb
|
|
355
369
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
|
356
370
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
|
357
|
-
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
|
358
|
-
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
|
359
371
|
- lib/selenium/webdriver/support/color.rb
|
|
360
372
|
- lib/selenium/webdriver/support/escaper.rb
|
|
361
373
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
|
@@ -371,8 +383,10 @@ licenses:
|
|
|
371
383
|
- Apache-2.0
|
|
372
384
|
metadata:
|
|
373
385
|
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
386
|
+
github_repo: ssh://github.com/SeleniumHQ/selenium
|
|
374
387
|
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
375
|
-
|
|
388
|
+
rubygems_mfa_required: 'true'
|
|
389
|
+
post_install_message:
|
|
376
390
|
rdoc_options: []
|
|
377
391
|
require_paths:
|
|
378
392
|
- lib
|
|
@@ -380,15 +394,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
380
394
|
requirements:
|
|
381
395
|
- - ">="
|
|
382
396
|
- !ruby/object:Gem::Version
|
|
383
|
-
version: '
|
|
397
|
+
version: '3.0'
|
|
384
398
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
385
399
|
requirements:
|
|
386
400
|
- - ">"
|
|
387
401
|
- !ruby/object:Gem::Version
|
|
388
402
|
version: 1.3.1
|
|
389
403
|
requirements: []
|
|
390
|
-
rubygems_version: 3.
|
|
391
|
-
signing_key:
|
|
404
|
+
rubygems_version: 3.2.33
|
|
405
|
+
signing_key:
|
|
392
406
|
specification_version: 4
|
|
393
407
|
summary: Selenium is a browser automation tool for automated testing of webapps and
|
|
394
408
|
more
|
|
@@ -1,65 +0,0 @@
|
|
|
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 'net/http/persistent'
|
|
21
|
-
|
|
22
|
-
module Selenium
|
|
23
|
-
module WebDriver
|
|
24
|
-
module Remote
|
|
25
|
-
module Http
|
|
26
|
-
# @api private
|
|
27
|
-
class Persistent < Default
|
|
28
|
-
def initialize(open_timeout: nil, read_timeout: nil)
|
|
29
|
-
WebDriver.logger.deprecate("Selenium::WebDriver::Remote::Http::Persistent",
|
|
30
|
-
id: :http_persistent) { "The default HTTP client now uses persistence." }
|
|
31
|
-
super
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def close
|
|
35
|
-
@http&.shutdown
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
private
|
|
39
|
-
|
|
40
|
-
def start(*)
|
|
41
|
-
# no need to explicitly start connection
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def new_http_client
|
|
45
|
-
proxy = nil
|
|
46
|
-
|
|
47
|
-
if @proxy
|
|
48
|
-
unless @proxy.respond_to?(:http)
|
|
49
|
-
url = @proxy.http
|
|
50
|
-
raise Error::WebDriverError, "expected HTTP proxy, got #{@proxy.inspect}" unless url
|
|
51
|
-
end
|
|
52
|
-
proxy = URI.parse(url)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
Net::HTTP::Persistent.new name: 'webdriver', proxy: proxy
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def response_for(request)
|
|
59
|
-
http.request server_url, request
|
|
60
|
-
end
|
|
61
|
-
end # Persistent
|
|
62
|
-
end # Http
|
|
63
|
-
end # Remote
|
|
64
|
-
end # WebDriver
|
|
65
|
-
end # Selenium
|
|
@@ -1,63 +0,0 @@
|
|
|
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
|
-
# This file is automatically generated. Any changes will be lost!
|
|
21
|
-
module Selenium
|
|
22
|
-
module DevTools
|
|
23
|
-
module <%= version %>
|
|
24
|
-
class <%= domain[:domain] %>
|
|
25
|
-
<% if domain[:events] %>
|
|
26
|
-
EVENTS = {
|
|
27
|
-
<% domain[:events].each do |event| %>
|
|
28
|
-
<%= h.snake_case(event[:name]) %>: '<%= event[:name] %>',
|
|
29
|
-
<% end %>
|
|
30
|
-
}.freeze
|
|
31
|
-
<% end %>
|
|
32
|
-
|
|
33
|
-
def initialize(devtools)
|
|
34
|
-
@devtools = devtools
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def on(event, &block)
|
|
38
|
-
event = EVENTS[event] if event.is_a?(Symbol)
|
|
39
|
-
@devtools.callbacks["<%= domain[:domain] %>.#{event}"] << block
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
<% domain[:commands].each do |command| %>
|
|
43
|
-
<% if command[:parameters] %>
|
|
44
|
-
def <%= h.snake_case(command[:name]) %>(<%= h.kwargs(command[:parameters]) %>)
|
|
45
|
-
<% else %>
|
|
46
|
-
def <%= h.snake_case(command[:name]) %>
|
|
47
|
-
<% end %>
|
|
48
|
-
<% if command[:parameters] %>
|
|
49
|
-
@devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>',
|
|
50
|
-
<% until command[:parameters].empty? %>
|
|
51
|
-
<% parameter = command[:parameters].shift %>
|
|
52
|
-
<%= parameter[:name] %>: <%= h.snake_case(parameter[:name]) %><%= command[:parameters].empty? ? ')' : ',' %>
|
|
53
|
-
<% end %>
|
|
54
|
-
<% else %>
|
|
55
|
-
@devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>')
|
|
56
|
-
<% end %>
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
<% end %>
|
|
60
|
-
end # <%= domain[:domain] %>
|
|
61
|
-
end # <%= version %>
|
|
62
|
-
end # DevTools
|
|
63
|
-
end # Selenium
|
|
@@ -1,108 +0,0 @@
|
|
|
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 'erb'
|
|
21
|
-
require 'fileutils'
|
|
22
|
-
require 'json'
|
|
23
|
-
|
|
24
|
-
module Selenium
|
|
25
|
-
module WebDriver
|
|
26
|
-
module Support
|
|
27
|
-
class CDPClientGenerator
|
|
28
|
-
# Input JSON files are generated from PDL tasks.
|
|
29
|
-
TEMPLATE_PATH = File.expand_path('cdp/domain.rb.erb', __dir__)
|
|
30
|
-
|
|
31
|
-
RESERVED_KEYWORDS = %w[end].freeze
|
|
32
|
-
|
|
33
|
-
def call(output_dir:, version:, browser_protocol_path: nil, js_protocol_path: nil, loader_path: nil, **)
|
|
34
|
-
@template = ERB.new(File.read(TEMPLATE_PATH))
|
|
35
|
-
@output_dir = output_dir
|
|
36
|
-
@loader_path = loader_path || "#{@output_dir}.rb"
|
|
37
|
-
@version = version
|
|
38
|
-
|
|
39
|
-
browser_protocol_path ||= File.expand_path('cdp/browser_protocol.json', __dir__)
|
|
40
|
-
js_protocol_path ||= File.expand_path('cdp/js_protocol.json', __dir__)
|
|
41
|
-
|
|
42
|
-
browser_protocol = JSON.parse(File.read(browser_protocol_path), symbolize_names: true)
|
|
43
|
-
js_protocol = JSON.parse(File.read(js_protocol_path), symbolize_names: true)
|
|
44
|
-
|
|
45
|
-
FileUtils.mkdir_p(@output_dir)
|
|
46
|
-
|
|
47
|
-
browser_protocol[:domains].each(&method(:process_domain))
|
|
48
|
-
js_protocol[:domains].each(&method(:process_domain))
|
|
49
|
-
require_file
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def process_domain(domain)
|
|
53
|
-
result = @template.result_with_hash(domain: domain, version: @version.upcase, h: self)
|
|
54
|
-
filename = File.join(@output_dir, "#{snake_case(domain[:domain])}.rb")
|
|
55
|
-
File.write(filename, remove_empty_lines(result))
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def snake_case(string)
|
|
59
|
-
name = string.gsub('JavaScript', 'Javascript')
|
|
60
|
-
.gsub(/([A-Z]+)([A-Z][a-z]{2,})/, '\1_\2')
|
|
61
|
-
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
|
62
|
-
.downcase
|
|
63
|
-
# Certain CDP parameters conflict with Ruby keywords
|
|
64
|
-
# so we prefix the name with underscore.
|
|
65
|
-
name = "_#{name}" if RESERVED_KEYWORDS.include?(name)
|
|
66
|
-
|
|
67
|
-
name
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def kwargs(parameters)
|
|
71
|
-
parameters = parameters.map do |parameter|
|
|
72
|
-
if parameter[:optional]
|
|
73
|
-
"#{snake_case(parameter[:name])}: nil"
|
|
74
|
-
else
|
|
75
|
-
"#{snake_case(parameter[:name])}:"
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
parameters.join(', ')
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def remove_empty_lines(string)
|
|
82
|
-
string.split("\n").reject { |l| l =~ /^\s+$/ }.join("\n")
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def require_file
|
|
86
|
-
# rubocop:disable Lint/InterpolationCheck
|
|
87
|
-
dynamic_location = '#{File.dirname(File.absolute_path(__FILE__))}'
|
|
88
|
-
# rubocop:enable Lint/InterpolationCheck
|
|
89
|
-
|
|
90
|
-
require_all = "Dir.glob(\"#{dynamic_location}/#{@version}/*\", &method(:require))"
|
|
91
|
-
File.open(@loader_path, 'w') { |file| file.write(require_all) }
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
if $PROGRAM_NAME == __FILE__
|
|
99
|
-
browser_protocol_path, js_protocol_path, output_dir, loader_path, version = *ARGV
|
|
100
|
-
|
|
101
|
-
Selenium::WebDriver::Support::CDPClientGenerator.new.call(
|
|
102
|
-
browser_protocol_path: browser_protocol_path,
|
|
103
|
-
js_protocol_path: js_protocol_path,
|
|
104
|
-
output_dir: output_dir,
|
|
105
|
-
loader_path: loader_path,
|
|
106
|
-
version: version
|
|
107
|
-
)
|
|
108
|
-
end
|