selenium-webdriver 3.142.7 → 4.10.0
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 +5 -5
- data/CHANGES +611 -5
- data/Gemfile +5 -1
- data/LICENSE +1 -1
- data/NOTICE +2 -0
- data/README.md +4 -5
- 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 +94 -79
- data/lib/selenium/webdriver/atoms/findElements.js +121 -0
- data/lib/selenium/webdriver/atoms/getAttribute.js +100 -7
- data/lib/selenium/webdriver/atoms/isDisplayed.js +76 -78
- data/lib/selenium/webdriver/atoms/mutationListener.js +55 -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/bidi/log/filter_by.rb +40 -0
- 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/{common/keyboard.rb → bidi.rb} +21 -35
- data/lib/selenium/webdriver/chrome/driver.rb +9 -86
- data/lib/selenium/webdriver/chrome/features.rb +44 -0
- data/lib/selenium/webdriver/chrome/options.rb +9 -158
- data/lib/selenium/webdriver/chrome/profile.rb +3 -80
- data/lib/selenium/webdriver/chrome/service.rb +6 -33
- data/lib/selenium/webdriver/chrome.rb +5 -18
- data/lib/selenium/webdriver/chromium/driver.rb +61 -0
- data/lib/selenium/webdriver/{chrome/bridge.rb → chromium/features.rb} +51 -16
- data/lib/selenium/webdriver/chromium/options.rb +261 -0
- data/lib/selenium/webdriver/chromium/profile.rb +113 -0
- data/lib/selenium/webdriver/chromium/service.rb +42 -0
- data/lib/selenium/webdriver/chromium.rb +32 -0
- data/lib/selenium/webdriver/common/action_builder.rb +128 -238
- data/lib/selenium/webdriver/common/child_process.rb +124 -0
- data/lib/selenium/webdriver/common/driver.rb +94 -43
- data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +42 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +49 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +87 -0
- data/lib/selenium/webdriver/common/driver_extensions/{has_touch_screen.rb → has_bidi.rb} +9 -9
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +86 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +36 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +42 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +41 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +36 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -9
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +143 -0
- data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_logs.rb} +4 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +16 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +69 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +11 -13
- data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +75 -0
- data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
- data/lib/selenium/webdriver/common/driver_finder.rb +47 -0
- data/lib/selenium/webdriver/common/element.rb +89 -29
- data/lib/selenium/webdriver/common/error.rb +53 -194
- 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 -22
- data/lib/selenium/webdriver/common/interactions/interactions.rb +24 -4
- data/lib/selenium/webdriver/common/interactions/key_actions.rb +10 -6
- 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 +71 -82
- data/lib/selenium/webdriver/common/interactions/pointer_cancel.rb +45 -0
- 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/{w3c_manager.rb → interactions/wheel_input.rb} +14 -17
- data/lib/selenium/webdriver/common/keys.rb +1 -0
- data/lib/selenium/webdriver/common/local_driver.rb +55 -0
- data/lib/selenium/webdriver/common/log_entry.rb +2 -2
- data/lib/selenium/webdriver/common/logger.rb +119 -19
- data/lib/selenium/webdriver/common/manager.rb +11 -38
- data/lib/selenium/webdriver/common/options.rb +169 -23
- data/lib/selenium/webdriver/common/platform.rb +14 -6
- data/lib/selenium/webdriver/common/port_prober.rb +4 -6
- data/lib/selenium/webdriver/common/profile_helper.rb +11 -9
- data/lib/selenium/webdriver/common/proxy.rb +8 -5
- data/lib/selenium/webdriver/common/search_context.rb +7 -9
- data/lib/selenium/webdriver/common/selenium_manager.rb +125 -0
- data/lib/selenium/webdriver/common/service.rb +26 -137
- data/lib/selenium/webdriver/common/service_manager.rb +144 -0
- data/lib/selenium/webdriver/common/shadow_root.rb +86 -0
- data/lib/selenium/webdriver/common/socket_lock.rb +4 -4
- data/lib/selenium/webdriver/common/socket_poller.rb +4 -4
- data/lib/selenium/webdriver/common/takes_screenshot.rb +65 -0
- data/lib/selenium/webdriver/common/target_locator.rb +31 -4
- data/lib/selenium/webdriver/common/timeouts.rb +31 -4
- 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/wait.rb +1 -1
- data/lib/selenium/webdriver/common/websocket_connection.rb +164 -0
- data/lib/selenium/webdriver/common/window.rb +6 -10
- data/lib/selenium/webdriver/common/zipper.rb +4 -10
- data/lib/selenium/webdriver/common.rb +42 -18
- data/lib/selenium/webdriver/devtools/console_event.rb +36 -0
- data/lib/selenium/webdriver/devtools/exception_event.rb +34 -0
- data/lib/selenium/webdriver/devtools/mutation_event.rb +35 -0
- data/lib/selenium/webdriver/devtools/network_interceptor.rb +173 -0
- data/lib/selenium/webdriver/devtools/pinned_script.rb +57 -0
- data/lib/selenium/webdriver/devtools/request.rb +65 -0
- data/lib/selenium/webdriver/devtools/response.rb +64 -0
- data/lib/selenium/webdriver/devtools.rb +96 -0
- data/lib/selenium/webdriver/edge/driver.rb +11 -27
- data/lib/selenium/webdriver/edge/features.rb +44 -0
- data/lib/selenium/webdriver/edge/options.rb +18 -43
- data/lib/selenium/webdriver/edge/profile.rb +33 -0
- data/lib/selenium/webdriver/edge/service.rb +7 -27
- data/lib/selenium/webdriver/edge.rb +11 -14
- data/lib/selenium/webdriver/firefox/driver.rb +38 -19
- data/lib/selenium/webdriver/firefox/extension.rb +8 -0
- data/lib/selenium/webdriver/firefox/features.rb +66 -0
- data/lib/selenium/webdriver/firefox/options.rb +77 -50
- data/lib/selenium/webdriver/firefox/profile.rb +17 -71
- data/lib/selenium/webdriver/firefox/service.rb +3 -13
- data/lib/selenium/webdriver/firefox/util.rb +1 -1
- data/lib/selenium/webdriver/firefox.rb +17 -28
- data/lib/selenium/webdriver/ie/driver.rb +5 -45
- data/lib/selenium/webdriver/ie/options.rb +15 -46
- data/lib/selenium/webdriver/ie/service.rb +11 -19
- data/lib/selenium/webdriver/ie.rb +3 -16
- data/lib/selenium/webdriver/remote/bridge/commands.rb +170 -0
- data/lib/selenium/webdriver/remote/bridge.rb +592 -87
- data/lib/selenium/webdriver/remote/capabilities.rb +182 -124
- data/lib/selenium/webdriver/remote/driver.rb +30 -15
- data/lib/selenium/webdriver/remote/http/common.rb +3 -8
- data/lib/selenium/webdriver/remote/http/curb.rb +1 -3
- data/lib/selenium/webdriver/remote/http/default.rb +23 -31
- data/lib/selenium/webdriver/remote/response.rb +17 -49
- data/lib/selenium/webdriver/remote.rb +14 -12
- data/lib/selenium/webdriver/safari/driver.rb +7 -29
- data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -5
- data/lib/selenium/webdriver/safari/options.rb +12 -27
- data/lib/selenium/webdriver/safari/service.rb +13 -11
- data/lib/selenium/webdriver/safari.rb +14 -20
- data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
- data/lib/selenium/webdriver/support/color.rb +24 -24
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +4 -4
- data/lib/selenium/webdriver/support/guards/guard.rb +87 -0
- data/lib/selenium/webdriver/{firefox/marionette/bridge.rb → support/guards/guard_condition.rb} +21 -20
- data/lib/selenium/webdriver/support/guards.rb +95 -0
- data/lib/selenium/webdriver/support/relative_locator.rb +50 -0
- data/lib/selenium/webdriver/support/select.rb +6 -4
- data/lib/selenium/webdriver/support.rb +1 -0
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +18 -17
- data/selenium-webdriver.gemspec +36 -18
- metadata +159 -89
- data/lib/selenium/webdriver/common/bridge_helper.rb +0 -82
- data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -64
- data/lib/selenium/webdriver/common/mouse.rb +0 -89
- data/lib/selenium/webdriver/common/touch_action_builder.rb +0 -78
- data/lib/selenium/webdriver/common/touch_screen.rb +0 -123
- data/lib/selenium/webdriver/common/w3c_action_builder.rb +0 -212
- data/lib/selenium/webdriver/edge/bridge.rb +0 -76
- data/lib/selenium/webdriver/firefox/binary.rb +0 -187
- data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/launcher.rb +0 -111
- data/lib/selenium/webdriver/firefox/legacy/driver.rb +0 -83
- data/lib/selenium/webdriver/firefox/marionette/driver.rb +0 -90
- data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
- data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
- data/lib/selenium/webdriver/remote/http/persistent.rb +0 -60
- data/lib/selenium/webdriver/remote/oss/bridge.rb +0 -594
- data/lib/selenium/webdriver/remote/oss/commands.rb +0 -223
- data/lib/selenium/webdriver/remote/w3c/bridge.rb +0 -605
- data/lib/selenium/webdriver/remote/w3c/capabilities.rb +0 -310
- data/lib/selenium/webdriver/remote/w3c/commands.rb +0 -157
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Rodionov
|
@@ -10,171 +10,192 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2023-06-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
+
name: rexml
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
17
18
|
requirements:
|
18
|
-
- - "
|
19
|
+
- - "~>"
|
19
20
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
21
|
-
- - "
|
21
|
+
version: '3.2'
|
22
|
+
- - ">="
|
22
23
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
24
|
-
name: childprocess
|
25
|
-
prerelease: false
|
24
|
+
version: 3.2.5
|
26
25
|
type: :runtime
|
26
|
+
prerelease: false
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
28
|
requirements:
|
29
|
-
- - "
|
29
|
+
- - "~>"
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
version: '
|
32
|
-
- - "
|
31
|
+
version: '3.2'
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 3.2.5
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
+
name: rubyzip
|
36
37
|
requirement: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
39
|
- - ">="
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: 1.2.2
|
41
|
-
|
42
|
-
|
42
|
+
- - "<"
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '3.0'
|
43
45
|
type: :runtime
|
46
|
+
prerelease: false
|
44
47
|
version_requirements: !ruby/object:Gem::Requirement
|
45
48
|
requirements:
|
46
49
|
- - ">="
|
47
50
|
- !ruby/object:Gem::Version
|
48
51
|
version: 1.2.2
|
52
|
+
- - "<"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
49
55
|
- !ruby/object:Gem::Dependency
|
56
|
+
name: websocket
|
50
57
|
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- - "
|
59
|
+
- - "~>"
|
53
60
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
|
61
|
+
version: '1.0'
|
62
|
+
type: :runtime
|
56
63
|
prerelease: false
|
57
|
-
type: :development
|
58
64
|
version_requirements: !ruby/object:Gem::Requirement
|
59
65
|
requirements:
|
60
|
-
- - "
|
66
|
+
- - "~>"
|
61
67
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
68
|
+
version: '1.0'
|
63
69
|
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
72
|
requirements:
|
66
73
|
- - "~>"
|
67
74
|
- !ruby/object:Gem::Version
|
68
75
|
version: '2.0'
|
69
|
-
name: rack
|
70
|
-
prerelease: false
|
71
76
|
type: :development
|
77
|
+
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
79
|
requirements:
|
74
80
|
- - "~>"
|
75
81
|
- !ruby/object:Gem::Version
|
76
82
|
version: '2.0'
|
77
83
|
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
78
85
|
requirement: !ruby/object:Gem::Requirement
|
79
86
|
requirements:
|
80
|
-
- - "
|
87
|
+
- - "~>"
|
81
88
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
name: rake
|
84
|
-
prerelease: false
|
89
|
+
version: '13.0'
|
85
90
|
type: :development
|
91
|
+
prerelease: false
|
86
92
|
version_requirements: !ruby/object:Gem::Requirement
|
87
93
|
requirements:
|
88
|
-
- - "
|
94
|
+
- - "~>"
|
89
95
|
- !ruby/object:Gem::Version
|
90
|
-
version: '0'
|
96
|
+
version: '13.0'
|
91
97
|
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
92
99
|
requirement: !ruby/object:Gem::Requirement
|
93
100
|
requirements:
|
94
101
|
- - "~>"
|
95
102
|
- !ruby/object:Gem::Version
|
96
103
|
version: '3.0'
|
97
|
-
name: rspec
|
98
|
-
prerelease: false
|
99
104
|
type: :development
|
105
|
+
prerelease: false
|
100
106
|
version_requirements: !ruby/object:Gem::Requirement
|
101
107
|
requirements:
|
102
108
|
- - "~>"
|
103
109
|
- !ruby/object:Gem::Version
|
104
110
|
version: '3.0'
|
105
111
|
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop
|
106
113
|
requirement: !ruby/object:Gem::Requirement
|
107
114
|
requirements:
|
108
115
|
- - "~>"
|
109
116
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
111
|
-
name: rubocop
|
112
|
-
prerelease: false
|
117
|
+
version: '1.42'
|
113
118
|
type: :development
|
119
|
+
prerelease: false
|
114
120
|
version_requirements: !ruby/object:Gem::Requirement
|
115
121
|
requirements:
|
116
122
|
- - "~>"
|
117
123
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
124
|
+
version: '1.42'
|
119
125
|
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-performance
|
120
127
|
requirement: !ruby/object:Gem::Requirement
|
121
128
|
requirements:
|
122
|
-
- - "
|
129
|
+
- - "~>"
|
123
130
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
125
|
-
name: rubocop-performance
|
126
|
-
prerelease: false
|
131
|
+
version: '1.15'
|
127
132
|
type: :development
|
133
|
+
prerelease: false
|
128
134
|
version_requirements: !ruby/object:Gem::Requirement
|
129
135
|
requirements:
|
130
|
-
- - "
|
136
|
+
- - "~>"
|
131
137
|
- !ruby/object:Gem::Version
|
132
|
-
version: '
|
138
|
+
version: '1.15'
|
133
139
|
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop-rspec
|
134
141
|
requirement: !ruby/object:Gem::Requirement
|
135
142
|
requirements:
|
136
|
-
- - "
|
143
|
+
- - "~>"
|
137
144
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
139
|
-
name: rubocop-rspec
|
140
|
-
prerelease: false
|
145
|
+
version: '2.16'
|
141
146
|
type: :development
|
147
|
+
prerelease: false
|
142
148
|
version_requirements: !ruby/object:Gem::Requirement
|
143
149
|
requirements:
|
144
|
-
- - "
|
150
|
+
- - "~>"
|
145
151
|
- !ruby/object:Gem::Version
|
146
|
-
version: '
|
152
|
+
version: '2.16'
|
147
153
|
- !ruby/object:Gem::Dependency
|
154
|
+
name: webmock
|
148
155
|
requirement: !ruby/object:Gem::Requirement
|
149
156
|
requirements:
|
150
157
|
- - "~>"
|
151
158
|
- !ruby/object:Gem::Version
|
152
159
|
version: '3.5'
|
153
|
-
name: webmock
|
154
|
-
prerelease: false
|
155
160
|
type: :development
|
161
|
+
prerelease: false
|
156
162
|
version_requirements: !ruby/object:Gem::Requirement
|
157
163
|
requirements:
|
158
164
|
- - "~>"
|
159
165
|
- !ruby/object:Gem::Version
|
160
166
|
version: '3.5'
|
161
167
|
- !ruby/object:Gem::Dependency
|
168
|
+
name: webrick
|
162
169
|
requirement: !ruby/object:Gem::Requirement
|
163
170
|
requirements:
|
164
171
|
- - "~>"
|
165
172
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
167
|
-
|
173
|
+
version: '1.7'
|
174
|
+
type: :development
|
168
175
|
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '1.7'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: yard
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 0.9.11
|
169
188
|
type: :development
|
189
|
+
prerelease: false
|
170
190
|
version_requirements: !ruby/object:Gem::Requirement
|
171
191
|
requirements:
|
172
192
|
- - "~>"
|
173
193
|
- !ruby/object:Gem::Version
|
174
194
|
version: 0.9.11
|
175
|
-
description:
|
176
|
-
|
177
|
-
|
195
|
+
description: |2
|
196
|
+
Selenium implements the W3C WebDriver protocol to automate popular browsers.
|
197
|
+
It aims to mimic the behaviour of a real user as it interacts with the application's HTML.
|
198
|
+
It's primarily intended for web application testing, but any web-based task can automated.
|
178
199
|
email:
|
179
200
|
- p0deje@gmail.com
|
180
201
|
- titusfortner@gmail.com
|
@@ -186,38 +207,72 @@ files:
|
|
186
207
|
- CHANGES
|
187
208
|
- Gemfile
|
188
209
|
- LICENSE
|
210
|
+
- NOTICE
|
189
211
|
- README.md
|
212
|
+
- bin/linux/selenium-manager
|
213
|
+
- bin/macos/selenium-manager
|
214
|
+
- bin/windows/selenium-manager.exe
|
190
215
|
- lib/selenium-webdriver.rb
|
191
216
|
- lib/selenium/server.rb
|
192
217
|
- lib/selenium/webdriver.rb
|
193
218
|
- lib/selenium/webdriver/atoms.rb
|
219
|
+
- lib/selenium/webdriver/atoms/findElements.js
|
194
220
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
195
221
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
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
|
196
234
|
- lib/selenium/webdriver/chrome.rb
|
197
|
-
- lib/selenium/webdriver/chrome/bridge.rb
|
198
235
|
- lib/selenium/webdriver/chrome/driver.rb
|
236
|
+
- lib/selenium/webdriver/chrome/features.rb
|
199
237
|
- lib/selenium/webdriver/chrome/options.rb
|
200
238
|
- lib/selenium/webdriver/chrome/profile.rb
|
201
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
|
245
|
+
- lib/selenium/webdriver/chromium/service.rb
|
202
246
|
- lib/selenium/webdriver/common.rb
|
203
247
|
- lib/selenium/webdriver/common/action_builder.rb
|
204
248
|
- lib/selenium/webdriver/common/alert.rb
|
205
|
-
- lib/selenium/webdriver/common/
|
249
|
+
- lib/selenium/webdriver/common/child_process.rb
|
206
250
|
- lib/selenium/webdriver/common/driver.rb
|
207
251
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
252
|
+
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
208
253
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
254
|
+
- lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
|
255
|
+
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
256
|
+
- lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
|
257
|
+
- lib/selenium/webdriver/common/driver_extensions/has_casting.rb
|
258
|
+
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
259
|
+
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
209
260
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
261
|
+
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
262
|
+
- lib/selenium/webdriver/common/driver_extensions/has_launching.rb
|
210
263
|
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
264
|
+
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
265
|
+
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
211
266
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
212
267
|
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
268
|
+
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
213
269
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
214
|
-
- lib/selenium/webdriver/common/driver_extensions/
|
270
|
+
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
215
271
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
216
|
-
- lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb
|
217
272
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
218
|
-
- lib/selenium/webdriver/common/driver_extensions/
|
219
|
-
- lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
|
273
|
+
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
220
274
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
275
|
+
- lib/selenium/webdriver/common/driver_finder.rb
|
221
276
|
- lib/selenium/webdriver/common/element.rb
|
222
277
|
- lib/selenium/webdriver/common/error.rb
|
223
278
|
- lib/selenium/webdriver/common/file_reaper.rb
|
@@ -230,15 +285,24 @@ files:
|
|
230
285
|
- lib/selenium/webdriver/common/interactions/key_actions.rb
|
231
286
|
- lib/selenium/webdriver/common/interactions/key_input.rb
|
232
287
|
- lib/selenium/webdriver/common/interactions/none_input.rb
|
288
|
+
- lib/selenium/webdriver/common/interactions/pause.rb
|
233
289
|
- lib/selenium/webdriver/common/interactions/pointer_actions.rb
|
290
|
+
- lib/selenium/webdriver/common/interactions/pointer_cancel.rb
|
291
|
+
- lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
|
234
292
|
- lib/selenium/webdriver/common/interactions/pointer_input.rb
|
235
|
-
- lib/selenium/webdriver/common/
|
293
|
+
- lib/selenium/webdriver/common/interactions/pointer_move.rb
|
294
|
+
- lib/selenium/webdriver/common/interactions/pointer_press.rb
|
295
|
+
- lib/selenium/webdriver/common/interactions/scroll.rb
|
296
|
+
- lib/selenium/webdriver/common/interactions/scroll_origin.rb
|
297
|
+
- lib/selenium/webdriver/common/interactions/typing_interaction.rb
|
298
|
+
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
299
|
+
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
236
300
|
- lib/selenium/webdriver/common/keys.rb
|
301
|
+
- lib/selenium/webdriver/common/local_driver.rb
|
237
302
|
- lib/selenium/webdriver/common/log_entry.rb
|
238
303
|
- lib/selenium/webdriver/common/logger.rb
|
239
304
|
- lib/selenium/webdriver/common/logs.rb
|
240
305
|
- lib/selenium/webdriver/common/manager.rb
|
241
|
-
- lib/selenium/webdriver/common/mouse.rb
|
242
306
|
- lib/selenium/webdriver/common/navigation.rb
|
243
307
|
- lib/selenium/webdriver/common/options.rb
|
244
308
|
- lib/selenium/webdriver/common/platform.rb
|
@@ -246,35 +310,40 @@ files:
|
|
246
310
|
- lib/selenium/webdriver/common/profile_helper.rb
|
247
311
|
- lib/selenium/webdriver/common/proxy.rb
|
248
312
|
- lib/selenium/webdriver/common/search_context.rb
|
313
|
+
- lib/selenium/webdriver/common/selenium_manager.rb
|
249
314
|
- lib/selenium/webdriver/common/service.rb
|
315
|
+
- lib/selenium/webdriver/common/service_manager.rb
|
316
|
+
- lib/selenium/webdriver/common/shadow_root.rb
|
250
317
|
- lib/selenium/webdriver/common/socket_lock.rb
|
251
318
|
- lib/selenium/webdriver/common/socket_poller.rb
|
319
|
+
- lib/selenium/webdriver/common/takes_screenshot.rb
|
252
320
|
- lib/selenium/webdriver/common/target_locator.rb
|
253
321
|
- lib/selenium/webdriver/common/timeouts.rb
|
254
|
-
- lib/selenium/webdriver/common/
|
255
|
-
- lib/selenium/webdriver/common/
|
256
|
-
- lib/selenium/webdriver/common/
|
257
|
-
- lib/selenium/webdriver/common/w3c_manager.rb
|
322
|
+
- lib/selenium/webdriver/common/virtual_authenticator/credential.rb
|
323
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb
|
324
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb
|
258
325
|
- lib/selenium/webdriver/common/wait.rb
|
326
|
+
- lib/selenium/webdriver/common/websocket_connection.rb
|
259
327
|
- lib/selenium/webdriver/common/window.rb
|
260
328
|
- lib/selenium/webdriver/common/zipper.rb
|
329
|
+
- lib/selenium/webdriver/devtools.rb
|
330
|
+
- lib/selenium/webdriver/devtools/console_event.rb
|
331
|
+
- lib/selenium/webdriver/devtools/exception_event.rb
|
332
|
+
- lib/selenium/webdriver/devtools/mutation_event.rb
|
333
|
+
- lib/selenium/webdriver/devtools/network_interceptor.rb
|
334
|
+
- lib/selenium/webdriver/devtools/pinned_script.rb
|
335
|
+
- lib/selenium/webdriver/devtools/request.rb
|
336
|
+
- lib/selenium/webdriver/devtools/response.rb
|
261
337
|
- lib/selenium/webdriver/edge.rb
|
262
|
-
- lib/selenium/webdriver/edge/bridge.rb
|
263
338
|
- lib/selenium/webdriver/edge/driver.rb
|
339
|
+
- lib/selenium/webdriver/edge/features.rb
|
264
340
|
- lib/selenium/webdriver/edge/options.rb
|
341
|
+
- lib/selenium/webdriver/edge/profile.rb
|
265
342
|
- lib/selenium/webdriver/edge/service.rb
|
266
343
|
- lib/selenium/webdriver/firefox.rb
|
267
|
-
- lib/selenium/webdriver/firefox/binary.rb
|
268
344
|
- lib/selenium/webdriver/firefox/driver.rb
|
269
345
|
- lib/selenium/webdriver/firefox/extension.rb
|
270
|
-
- lib/selenium/webdriver/firefox/
|
271
|
-
- lib/selenium/webdriver/firefox/extension/webdriver.xpi
|
272
|
-
- lib/selenium/webdriver/firefox/launcher.rb
|
273
|
-
- lib/selenium/webdriver/firefox/legacy/driver.rb
|
274
|
-
- lib/selenium/webdriver/firefox/marionette/bridge.rb
|
275
|
-
- lib/selenium/webdriver/firefox/marionette/driver.rb
|
276
|
-
- lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
|
277
|
-
- lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
|
346
|
+
- lib/selenium/webdriver/firefox/features.rb
|
278
347
|
- lib/selenium/webdriver/firefox/options.rb
|
279
348
|
- lib/selenium/webdriver/firefox/profile.rb
|
280
349
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
@@ -286,22 +355,17 @@ files:
|
|
286
355
|
- lib/selenium/webdriver/ie/service.rb
|
287
356
|
- lib/selenium/webdriver/remote.rb
|
288
357
|
- lib/selenium/webdriver/remote/bridge.rb
|
358
|
+
- lib/selenium/webdriver/remote/bridge/commands.rb
|
289
359
|
- lib/selenium/webdriver/remote/capabilities.rb
|
290
360
|
- lib/selenium/webdriver/remote/driver.rb
|
291
361
|
- lib/selenium/webdriver/remote/http/common.rb
|
292
362
|
- lib/selenium/webdriver/remote/http/curb.rb
|
293
363
|
- lib/selenium/webdriver/remote/http/default.rb
|
294
|
-
- lib/selenium/webdriver/remote/http/persistent.rb
|
295
|
-
- lib/selenium/webdriver/remote/oss/bridge.rb
|
296
|
-
- lib/selenium/webdriver/remote/oss/commands.rb
|
297
364
|
- lib/selenium/webdriver/remote/response.rb
|
298
365
|
- lib/selenium/webdriver/remote/server_error.rb
|
299
|
-
- lib/selenium/webdriver/remote/w3c/bridge.rb
|
300
|
-
- lib/selenium/webdriver/remote/w3c/capabilities.rb
|
301
|
-
- lib/selenium/webdriver/remote/w3c/commands.rb
|
302
366
|
- lib/selenium/webdriver/safari.rb
|
303
|
-
- lib/selenium/webdriver/safari/bridge.rb
|
304
367
|
- lib/selenium/webdriver/safari/driver.rb
|
368
|
+
- lib/selenium/webdriver/safari/features.rb
|
305
369
|
- lib/selenium/webdriver/safari/options.rb
|
306
370
|
- lib/selenium/webdriver/safari/service.rb
|
307
371
|
- lib/selenium/webdriver/support.rb
|
@@ -310,15 +374,21 @@ files:
|
|
310
374
|
- lib/selenium/webdriver/support/color.rb
|
311
375
|
- lib/selenium/webdriver/support/escaper.rb
|
312
376
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
377
|
+
- lib/selenium/webdriver/support/guards.rb
|
378
|
+
- lib/selenium/webdriver/support/guards/guard.rb
|
379
|
+
- lib/selenium/webdriver/support/guards/guard_condition.rb
|
380
|
+
- lib/selenium/webdriver/support/relative_locator.rb
|
313
381
|
- lib/selenium/webdriver/support/select.rb
|
314
382
|
- lib/selenium/webdriver/version.rb
|
315
383
|
- selenium-webdriver.gemspec
|
316
|
-
homepage: https://
|
384
|
+
homepage: https://selenium.dev
|
317
385
|
licenses:
|
318
386
|
- Apache-2.0
|
319
387
|
metadata:
|
320
|
-
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/
|
321
|
-
|
388
|
+
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
389
|
+
github_repo: ssh://github.com/SeleniumHQ/selenium
|
390
|
+
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
391
|
+
rubygems_mfa_required: 'true'
|
322
392
|
post_install_message:
|
323
393
|
rdoc_options: []
|
324
394
|
require_paths:
|
@@ -327,16 +397,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
327
397
|
requirements:
|
328
398
|
- - ">="
|
329
399
|
- !ruby/object:Gem::Version
|
330
|
-
version: '
|
400
|
+
version: '3.0'
|
331
401
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
332
402
|
requirements:
|
333
403
|
- - ">"
|
334
404
|
- !ruby/object:Gem::Version
|
335
405
|
version: 1.3.1
|
336
406
|
requirements: []
|
337
|
-
|
338
|
-
rubygems_version: 2.6.14
|
407
|
+
rubygems_version: 3.2.33
|
339
408
|
signing_key:
|
340
409
|
specification_version: 4
|
341
|
-
summary:
|
410
|
+
summary: Selenium is a browser automation tool for automated testing of webapps and
|
411
|
+
more
|
342
412
|
test_files: []
|
@@ -1,82 +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
|
-
module Selenium
|
21
|
-
module WebDriver
|
22
|
-
#
|
23
|
-
# Shared across bridges
|
24
|
-
#
|
25
|
-
# @api private
|
26
|
-
#
|
27
|
-
|
28
|
-
module BridgeHelper
|
29
|
-
def unwrap_script_result(arg)
|
30
|
-
case arg
|
31
|
-
when Array
|
32
|
-
arg.map { |e| unwrap_script_result(e) }
|
33
|
-
when Hash
|
34
|
-
element_id = element_id_from(arg)
|
35
|
-
return Element.new(self, element_id) if element_id
|
36
|
-
|
37
|
-
arg.each { |k, v| arg[k] = unwrap_script_result(v) }
|
38
|
-
else
|
39
|
-
arg
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def element_id_from(id)
|
44
|
-
id['ELEMENT'] || id['element-6066-11e4-a52e-4f735466cecf']
|
45
|
-
end
|
46
|
-
|
47
|
-
def parse_cookie_string(str)
|
48
|
-
result = {
|
49
|
-
'name' => '',
|
50
|
-
'value' => '',
|
51
|
-
'domain' => '',
|
52
|
-
'path' => '',
|
53
|
-
'expires' => '',
|
54
|
-
'secure' => false
|
55
|
-
}
|
56
|
-
|
57
|
-
str.split(';').each do |attribute|
|
58
|
-
if attribute.include? '='
|
59
|
-
key, value = attribute.strip.split('=', 2)
|
60
|
-
if result['name'].empty?
|
61
|
-
result['name'] = key
|
62
|
-
result['value'] = value
|
63
|
-
elsif key == 'domain' && value.strip =~ /^\.(.+)/
|
64
|
-
result['domain'] = Regexp.last_match(1)
|
65
|
-
elsif key && value
|
66
|
-
result[key] = value
|
67
|
-
end
|
68
|
-
elsif attribute == 'secure'
|
69
|
-
result['secure'] = true
|
70
|
-
end
|
71
|
-
|
72
|
-
unless [nil, '', '0'].include?(result['expires'])
|
73
|
-
# firefox stores expiry as number of seconds
|
74
|
-
result['expires'] = Time.at(result['expires'].to_i)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
result
|
79
|
-
end
|
80
|
-
end # BridgeHelper
|
81
|
-
end # WebDriver
|
82
|
-
end # Selenium
|
@@ -1,64 +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
|
-
module Selenium
|
21
|
-
module WebDriver
|
22
|
-
#
|
23
|
-
# @api private
|
24
|
-
#
|
25
|
-
|
26
|
-
module DriverExtensions
|
27
|
-
module TakesScreenshot
|
28
|
-
#
|
29
|
-
# Save a PNG screenshot to the given path
|
30
|
-
#
|
31
|
-
# @api public
|
32
|
-
#
|
33
|
-
|
34
|
-
def save_screenshot(png_path)
|
35
|
-
extension = File.extname(png_path).downcase
|
36
|
-
if extension != '.png'
|
37
|
-
WebDriver.logger.warn "name used for saved screenshot does not match file type. "\
|
38
|
-
"It should end with .png extension"
|
39
|
-
end
|
40
|
-
File.open(png_path, 'wb') { |f| f << screenshot_as(:png) }
|
41
|
-
end
|
42
|
-
|
43
|
-
#
|
44
|
-
# Return a PNG screenshot in the given format as a string
|
45
|
-
#
|
46
|
-
# @param [:base64, :png] format
|
47
|
-
# @return String screenshot
|
48
|
-
#
|
49
|
-
# @api public
|
50
|
-
|
51
|
-
def screenshot_as(format)
|
52
|
-
case format
|
53
|
-
when :base64
|
54
|
-
bridge.screenshot
|
55
|
-
when :png
|
56
|
-
bridge.screenshot.unpack('m')[0]
|
57
|
-
else
|
58
|
-
raise Error::UnsupportedOperationError, "unsupported format: #{format.inspect}"
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end # TakesScreenshot
|
62
|
-
end # DriverExtensions
|
63
|
-
end # WebDriver
|
64
|
-
end # Selenium
|