selenium-webdriver 3.142.7 → 4.3.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 +432 -5
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/NOTICE +2 -0
- data/README.md +4 -5
- data/lib/selenium/server.rb +75 -64
- data/lib/selenium/webdriver/atoms/findElements.js +122 -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/bidi/session.rb +38 -0
- data/lib/selenium/webdriver/bidi.rb +55 -0
- data/lib/selenium/webdriver/chrome/driver.rb +26 -83
- data/lib/selenium/webdriver/chrome/{bridge.rb → features.rb} +55 -12
- data/lib/selenium/webdriver/chrome/options.rb +138 -67
- data/lib/selenium/webdriver/chrome/profile.rb +6 -3
- data/lib/selenium/webdriver/chrome/service.rb +8 -15
- data/lib/selenium/webdriver/chrome.rb +5 -18
- data/lib/selenium/webdriver/common/action_builder.rb +171 -236
- data/lib/selenium/webdriver/common/driver.rb +76 -29
- data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +43 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +51 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
- data/lib/selenium/webdriver/common/driver_extensions/{has_touch_screen.rb → has_bidi.rb} +10 -8
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +87 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +38 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +44 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +43 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +38 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +144 -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 +17 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +136 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +11 -11
- data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +77 -0
- data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
- data/lib/selenium/webdriver/common/element.rb +83 -23
- data/lib/selenium/webdriver/common/error.rb +32 -196
- 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 +68 -78
- 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 +57 -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/log_entry.rb +2 -2
- data/lib/selenium/webdriver/common/logger.rb +50 -15
- data/lib/selenium/webdriver/common/manager.rb +11 -38
- data/lib/selenium/webdriver/common/options.rb +147 -23
- data/lib/selenium/webdriver/common/platform.rb +10 -5
- 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 +6 -3
- data/lib/selenium/webdriver/common/search_context.rb +7 -9
- data/lib/selenium/webdriver/common/service.rb +17 -125
- data/lib/selenium/webdriver/common/service_manager.rb +150 -0
- data/lib/selenium/webdriver/common/shadow_root.rb +87 -0
- data/lib/selenium/webdriver/common/socket_lock.rb +2 -2
- data/lib/selenium/webdriver/common/socket_poller.rb +3 -3
- data/lib/selenium/webdriver/common/takes_screenshot.rb +66 -0
- data/lib/selenium/webdriver/common/target_locator.rb +32 -4
- data/lib/selenium/webdriver/common/timeouts.rb +31 -4
- data/lib/selenium/webdriver/common/wait.rb +1 -1
- data/lib/selenium/webdriver/common/websocket_connection.rb +149 -0
- data/lib/selenium/webdriver/common/window.rb +0 -4
- data/lib/selenium/webdriver/common/zipper.rb +3 -9
- data/lib/selenium/webdriver/common.rb +35 -18
- data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
- data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
- data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
- data/lib/selenium/webdriver/devtools/pinned_script.rb +59 -0
- data/lib/selenium/webdriver/devtools/request.rb +67 -0
- data/lib/selenium/webdriver/devtools/response.rb +66 -0
- data/lib/selenium/webdriver/devtools.rb +86 -0
- data/lib/selenium/webdriver/edge/driver.rb +7 -29
- data/lib/selenium/webdriver/edge/features.rb +45 -0
- data/lib/selenium/webdriver/edge/options.rb +11 -48
- data/lib/selenium/webdriver/edge/profile.rb +33 -0
- data/lib/selenium/webdriver/edge/service.rb +10 -26
- data/lib/selenium/webdriver/edge.rb +11 -14
- data/lib/selenium/webdriver/firefox/driver.rb +32 -19
- data/lib/selenium/webdriver/firefox/extension.rb +8 -0
- data/lib/selenium/webdriver/firefox/features.rb +63 -0
- data/lib/selenium/webdriver/firefox/options.rb +73 -50
- data/lib/selenium/webdriver/firefox/profile.rb +16 -70
- data/lib/selenium/webdriver/firefox/service.rb +5 -9
- data/lib/selenium/webdriver/firefox/util.rb +1 -1
- data/lib/selenium/webdriver/firefox.rb +17 -28
- data/lib/selenium/webdriver/ie/driver.rb +1 -47
- data/lib/selenium/webdriver/ie/options.rb +15 -46
- data/lib/selenium/webdriver/ie/service.rb +13 -15
- data/lib/selenium/webdriver/ie.rb +3 -16
- data/lib/selenium/webdriver/remote/bridge.rb +563 -86
- data/lib/selenium/webdriver/remote/capabilities.rb +159 -123
- data/lib/selenium/webdriver/remote/commands.rb +158 -0
- data/lib/selenium/webdriver/remote/driver.rb +22 -13
- data/lib/selenium/webdriver/remote/http/common.rb +0 -5
- data/lib/selenium/webdriver/remote/http/default.rb +22 -31
- data/lib/selenium/webdriver/remote/response.rb +18 -49
- data/lib/selenium/webdriver/remote.rb +15 -12
- data/lib/selenium/webdriver/safari/driver.rb +3 -31
- data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -3
- data/lib/selenium/webdriver/safari/options.rb +10 -29
- data/lib/selenium/webdriver/safari/service.rb +4 -8
- data/lib/selenium/webdriver/safari.rb +13 -19
- data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
- data/lib/selenium/webdriver/support/cdp/domain.rb.erb +63 -0
- data/lib/selenium/webdriver/support/cdp_client_generator.rb +108 -0
- data/lib/selenium/webdriver/support/color.rb +9 -9
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +4 -4
- data/lib/selenium/webdriver/support/guards/guard.rb +89 -0
- data/lib/selenium/webdriver/{firefox/marionette/bridge.rb → support/guards/guard_condition.rb} +22 -19
- data/lib/selenium/webdriver/support/guards.rb +95 -0
- data/lib/selenium/webdriver/support/relative_locator.rb +51 -0
- data/lib/selenium/webdriver/support/select.rb +3 -3
- data/lib/selenium/webdriver/support.rb +1 -0
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +14 -13
- data/selenium-webdriver.gemspec +32 -13
- metadata +176 -69
- 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/keyboard.rb +0 -70
- 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,18 +1,19 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: selenium-webdriver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 4.3.0
|
|
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: 2022-06-23 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: childprocess
|
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
|
17
18
|
requirements:
|
|
18
19
|
- - ">="
|
|
@@ -20,10 +21,9 @@ dependencies:
|
|
|
20
21
|
version: '0.5'
|
|
21
22
|
- - "<"
|
|
22
23
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
24
|
-
name: childprocess
|
|
25
|
-
prerelease: false
|
|
24
|
+
version: '5.0'
|
|
26
25
|
type: :runtime
|
|
26
|
+
prerelease: false
|
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
28
|
requirements:
|
|
29
29
|
- - ">="
|
|
@@ -31,150 +31,233 @@ dependencies:
|
|
|
31
31
|
version: '0.5'
|
|
32
32
|
- - "<"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '
|
|
34
|
+
version: '5.0'
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
|
+
name: rexml
|
|
36
37
|
requirement: !ruby/object:Gem::Requirement
|
|
37
38
|
requirements:
|
|
39
|
+
- - "~>"
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '3.2'
|
|
38
42
|
- - ">="
|
|
39
43
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
41
|
-
|
|
44
|
+
version: 3.2.5
|
|
45
|
+
type: :runtime
|
|
42
46
|
prerelease: false
|
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
48
|
+
requirements:
|
|
49
|
+
- - "~>"
|
|
50
|
+
- !ruby/object:Gem::Version
|
|
51
|
+
version: '3.2'
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 3.2.5
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rubyzip
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 1.2.2
|
|
62
|
+
- - "<"
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '3.0'
|
|
43
65
|
type: :runtime
|
|
66
|
+
prerelease: false
|
|
44
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
68
|
requirements:
|
|
46
69
|
- - ">="
|
|
47
70
|
- !ruby/object:Gem::Version
|
|
48
71
|
version: 1.2.2
|
|
72
|
+
- - "<"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '3.0'
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: websocket
|
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '1.0'
|
|
82
|
+
type: :runtime
|
|
83
|
+
prerelease: false
|
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '1.0'
|
|
49
89
|
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: ffi
|
|
50
91
|
requirement: !ruby/object:Gem::Requirement
|
|
51
92
|
requirements:
|
|
52
93
|
- - ">="
|
|
53
94
|
- !ruby/object:Gem::Version
|
|
54
95
|
version: '0'
|
|
55
|
-
name: ffi
|
|
56
|
-
prerelease: false
|
|
57
96
|
type: :development
|
|
97
|
+
prerelease: false
|
|
58
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
59
99
|
requirements:
|
|
60
100
|
- - ">="
|
|
61
101
|
- !ruby/object:Gem::Version
|
|
62
102
|
version: '0'
|
|
63
103
|
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: pry
|
|
64
105
|
requirement: !ruby/object:Gem::Requirement
|
|
65
106
|
requirements:
|
|
66
107
|
- - "~>"
|
|
67
108
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
69
|
-
|
|
109
|
+
version: '0.14'
|
|
110
|
+
type: :development
|
|
70
111
|
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - "~>"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0.14'
|
|
117
|
+
- !ruby/object:Gem::Dependency
|
|
118
|
+
name: rack
|
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - "~>"
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '2.0'
|
|
71
124
|
type: :development
|
|
125
|
+
prerelease: false
|
|
72
126
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
127
|
requirements:
|
|
74
128
|
- - "~>"
|
|
75
129
|
- !ruby/object:Gem::Version
|
|
76
130
|
version: '2.0'
|
|
77
131
|
- !ruby/object:Gem::Dependency
|
|
132
|
+
name: rake
|
|
78
133
|
requirement: !ruby/object:Gem::Requirement
|
|
79
134
|
requirements:
|
|
80
135
|
- - ">="
|
|
81
136
|
- !ruby/object:Gem::Version
|
|
82
137
|
version: '0'
|
|
83
|
-
name: rake
|
|
84
|
-
prerelease: false
|
|
85
138
|
type: :development
|
|
139
|
+
prerelease: false
|
|
86
140
|
version_requirements: !ruby/object:Gem::Requirement
|
|
87
141
|
requirements:
|
|
88
142
|
- - ">="
|
|
89
143
|
- !ruby/object:Gem::Version
|
|
90
144
|
version: '0'
|
|
91
145
|
- !ruby/object:Gem::Dependency
|
|
146
|
+
name: rspec
|
|
92
147
|
requirement: !ruby/object:Gem::Requirement
|
|
93
148
|
requirements:
|
|
94
149
|
- - "~>"
|
|
95
150
|
- !ruby/object:Gem::Version
|
|
96
151
|
version: '3.0'
|
|
97
|
-
name: rspec
|
|
98
|
-
prerelease: false
|
|
99
152
|
type: :development
|
|
153
|
+
prerelease: false
|
|
100
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
101
155
|
requirements:
|
|
102
156
|
- - "~>"
|
|
103
157
|
- !ruby/object:Gem::Version
|
|
104
158
|
version: '3.0'
|
|
105
159
|
- !ruby/object:Gem::Dependency
|
|
160
|
+
name: rubocop
|
|
106
161
|
requirement: !ruby/object:Gem::Requirement
|
|
107
162
|
requirements:
|
|
108
163
|
- - "~>"
|
|
109
164
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
111
|
-
name: rubocop
|
|
112
|
-
prerelease: false
|
|
165
|
+
version: '1.22'
|
|
113
166
|
type: :development
|
|
167
|
+
prerelease: false
|
|
114
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
115
169
|
requirements:
|
|
116
170
|
- - "~>"
|
|
117
171
|
- !ruby/object:Gem::Version
|
|
118
|
-
version:
|
|
172
|
+
version: '1.22'
|
|
119
173
|
- !ruby/object:Gem::Dependency
|
|
174
|
+
name: rubocop-performance
|
|
120
175
|
requirement: !ruby/object:Gem::Requirement
|
|
121
176
|
requirements:
|
|
122
177
|
- - ">="
|
|
123
178
|
- !ruby/object:Gem::Version
|
|
124
179
|
version: '0'
|
|
125
|
-
name: rubocop-performance
|
|
126
|
-
prerelease: false
|
|
127
180
|
type: :development
|
|
181
|
+
prerelease: false
|
|
128
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
129
183
|
requirements:
|
|
130
184
|
- - ">="
|
|
131
185
|
- !ruby/object:Gem::Version
|
|
132
186
|
version: '0'
|
|
133
187
|
- !ruby/object:Gem::Dependency
|
|
188
|
+
name: rubocop-rake
|
|
134
189
|
requirement: !ruby/object:Gem::Requirement
|
|
135
190
|
requirements:
|
|
136
191
|
- - ">="
|
|
137
192
|
- !ruby/object:Gem::Version
|
|
138
193
|
version: '0'
|
|
139
|
-
|
|
194
|
+
type: :development
|
|
140
195
|
prerelease: false
|
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
197
|
+
requirements:
|
|
198
|
+
- - ">="
|
|
199
|
+
- !ruby/object:Gem::Version
|
|
200
|
+
version: '0'
|
|
201
|
+
- !ruby/object:Gem::Dependency
|
|
202
|
+
name: rubocop-rspec
|
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
|
204
|
+
requirements:
|
|
205
|
+
- - ">="
|
|
206
|
+
- !ruby/object:Gem::Version
|
|
207
|
+
version: '0'
|
|
141
208
|
type: :development
|
|
209
|
+
prerelease: false
|
|
142
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
143
211
|
requirements:
|
|
144
212
|
- - ">="
|
|
145
213
|
- !ruby/object:Gem::Version
|
|
146
214
|
version: '0'
|
|
147
215
|
- !ruby/object:Gem::Dependency
|
|
216
|
+
name: webmock
|
|
148
217
|
requirement: !ruby/object:Gem::Requirement
|
|
149
218
|
requirements:
|
|
150
219
|
- - "~>"
|
|
151
220
|
- !ruby/object:Gem::Version
|
|
152
221
|
version: '3.5'
|
|
153
|
-
name: webmock
|
|
154
|
-
prerelease: false
|
|
155
222
|
type: :development
|
|
223
|
+
prerelease: false
|
|
156
224
|
version_requirements: !ruby/object:Gem::Requirement
|
|
157
225
|
requirements:
|
|
158
226
|
- - "~>"
|
|
159
227
|
- !ruby/object:Gem::Version
|
|
160
228
|
version: '3.5'
|
|
161
229
|
- !ruby/object:Gem::Dependency
|
|
230
|
+
name: webrick
|
|
162
231
|
requirement: !ruby/object:Gem::Requirement
|
|
163
232
|
requirements:
|
|
164
233
|
- - "~>"
|
|
165
234
|
- !ruby/object:Gem::Version
|
|
166
|
-
version:
|
|
167
|
-
|
|
235
|
+
version: '1.7'
|
|
236
|
+
type: :development
|
|
168
237
|
prerelease: false
|
|
238
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
239
|
+
requirements:
|
|
240
|
+
- - "~>"
|
|
241
|
+
- !ruby/object:Gem::Version
|
|
242
|
+
version: '1.7'
|
|
243
|
+
- !ruby/object:Gem::Dependency
|
|
244
|
+
name: yard
|
|
245
|
+
requirement: !ruby/object:Gem::Requirement
|
|
246
|
+
requirements:
|
|
247
|
+
- - "~>"
|
|
248
|
+
- !ruby/object:Gem::Version
|
|
249
|
+
version: 0.9.11
|
|
169
250
|
type: :development
|
|
251
|
+
prerelease: false
|
|
170
252
|
version_requirements: !ruby/object:Gem::Requirement
|
|
171
253
|
requirements:
|
|
172
254
|
- - "~>"
|
|
173
255
|
- !ruby/object:Gem::Version
|
|
174
256
|
version: 0.9.11
|
|
175
|
-
description:
|
|
176
|
-
|
|
177
|
-
|
|
257
|
+
description: |2
|
|
258
|
+
Selenium implements the W3C WebDriver protocol to automate popular browsers.
|
|
259
|
+
It aims to mimic the behaviour of a real user as it interacts with the application's HTML.
|
|
260
|
+
It's primarily intended for web application testing, but any web-based task can automated.
|
|
178
261
|
email:
|
|
179
262
|
- p0deje@gmail.com
|
|
180
263
|
- titusfortner@gmail.com
|
|
@@ -186,37 +269,51 @@ files:
|
|
|
186
269
|
- CHANGES
|
|
187
270
|
- Gemfile
|
|
188
271
|
- LICENSE
|
|
272
|
+
- NOTICE
|
|
189
273
|
- README.md
|
|
190
274
|
- lib/selenium-webdriver.rb
|
|
191
275
|
- lib/selenium/server.rb
|
|
192
276
|
- lib/selenium/webdriver.rb
|
|
193
277
|
- lib/selenium/webdriver/atoms.rb
|
|
278
|
+
- lib/selenium/webdriver/atoms/findElements.js
|
|
194
279
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
|
195
280
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
|
281
|
+
- lib/selenium/webdriver/atoms/mutationListener.js
|
|
282
|
+
- lib/selenium/webdriver/bidi.rb
|
|
283
|
+
- lib/selenium/webdriver/bidi/session.rb
|
|
196
284
|
- lib/selenium/webdriver/chrome.rb
|
|
197
|
-
- lib/selenium/webdriver/chrome/bridge.rb
|
|
198
285
|
- lib/selenium/webdriver/chrome/driver.rb
|
|
286
|
+
- lib/selenium/webdriver/chrome/features.rb
|
|
199
287
|
- lib/selenium/webdriver/chrome/options.rb
|
|
200
288
|
- lib/selenium/webdriver/chrome/profile.rb
|
|
201
289
|
- lib/selenium/webdriver/chrome/service.rb
|
|
202
290
|
- lib/selenium/webdriver/common.rb
|
|
203
291
|
- lib/selenium/webdriver/common/action_builder.rb
|
|
204
292
|
- lib/selenium/webdriver/common/alert.rb
|
|
205
|
-
- lib/selenium/webdriver/common/bridge_helper.rb
|
|
206
293
|
- lib/selenium/webdriver/common/driver.rb
|
|
207
294
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
|
295
|
+
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
|
208
296
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
|
297
|
+
- lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
|
|
298
|
+
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
|
299
|
+
- lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
|
|
300
|
+
- lib/selenium/webdriver/common/driver_extensions/has_casting.rb
|
|
301
|
+
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
|
302
|
+
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
|
209
303
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
|
304
|
+
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
|
305
|
+
- lib/selenium/webdriver/common/driver_extensions/has_launching.rb
|
|
210
306
|
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
|
307
|
+
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
|
308
|
+
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
|
211
309
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
|
212
310
|
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
|
311
|
+
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
|
213
312
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
|
214
|
-
- lib/selenium/webdriver/common/driver_extensions/
|
|
313
|
+
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
|
215
314
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
|
216
|
-
- lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb
|
|
217
315
|
- 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
|
|
316
|
+
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
220
317
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
|
221
318
|
- lib/selenium/webdriver/common/element.rb
|
|
222
319
|
- lib/selenium/webdriver/common/error.rb
|
|
@@ -230,15 +327,23 @@ files:
|
|
|
230
327
|
- lib/selenium/webdriver/common/interactions/key_actions.rb
|
|
231
328
|
- lib/selenium/webdriver/common/interactions/key_input.rb
|
|
232
329
|
- lib/selenium/webdriver/common/interactions/none_input.rb
|
|
330
|
+
- lib/selenium/webdriver/common/interactions/pause.rb
|
|
233
331
|
- lib/selenium/webdriver/common/interactions/pointer_actions.rb
|
|
332
|
+
- lib/selenium/webdriver/common/interactions/pointer_cancel.rb
|
|
333
|
+
- lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
|
|
234
334
|
- lib/selenium/webdriver/common/interactions/pointer_input.rb
|
|
235
|
-
- lib/selenium/webdriver/common/
|
|
335
|
+
- lib/selenium/webdriver/common/interactions/pointer_move.rb
|
|
336
|
+
- lib/selenium/webdriver/common/interactions/pointer_press.rb
|
|
337
|
+
- lib/selenium/webdriver/common/interactions/scroll.rb
|
|
338
|
+
- lib/selenium/webdriver/common/interactions/scroll_origin.rb
|
|
339
|
+
- lib/selenium/webdriver/common/interactions/typing_interaction.rb
|
|
340
|
+
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
|
341
|
+
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
|
236
342
|
- lib/selenium/webdriver/common/keys.rb
|
|
237
343
|
- lib/selenium/webdriver/common/log_entry.rb
|
|
238
344
|
- lib/selenium/webdriver/common/logger.rb
|
|
239
345
|
- lib/selenium/webdriver/common/logs.rb
|
|
240
346
|
- lib/selenium/webdriver/common/manager.rb
|
|
241
|
-
- lib/selenium/webdriver/common/mouse.rb
|
|
242
347
|
- lib/selenium/webdriver/common/navigation.rb
|
|
243
348
|
- lib/selenium/webdriver/common/options.rb
|
|
244
349
|
- lib/selenium/webdriver/common/platform.rb
|
|
@@ -247,34 +352,34 @@ files:
|
|
|
247
352
|
- lib/selenium/webdriver/common/proxy.rb
|
|
248
353
|
- lib/selenium/webdriver/common/search_context.rb
|
|
249
354
|
- lib/selenium/webdriver/common/service.rb
|
|
355
|
+
- lib/selenium/webdriver/common/service_manager.rb
|
|
356
|
+
- lib/selenium/webdriver/common/shadow_root.rb
|
|
250
357
|
- lib/selenium/webdriver/common/socket_lock.rb
|
|
251
358
|
- lib/selenium/webdriver/common/socket_poller.rb
|
|
359
|
+
- lib/selenium/webdriver/common/takes_screenshot.rb
|
|
252
360
|
- lib/selenium/webdriver/common/target_locator.rb
|
|
253
361
|
- lib/selenium/webdriver/common/timeouts.rb
|
|
254
|
-
- lib/selenium/webdriver/common/touch_action_builder.rb
|
|
255
|
-
- lib/selenium/webdriver/common/touch_screen.rb
|
|
256
|
-
- lib/selenium/webdriver/common/w3c_action_builder.rb
|
|
257
|
-
- lib/selenium/webdriver/common/w3c_manager.rb
|
|
258
362
|
- lib/selenium/webdriver/common/wait.rb
|
|
363
|
+
- lib/selenium/webdriver/common/websocket_connection.rb
|
|
259
364
|
- lib/selenium/webdriver/common/window.rb
|
|
260
365
|
- lib/selenium/webdriver/common/zipper.rb
|
|
366
|
+
- lib/selenium/webdriver/devtools.rb
|
|
367
|
+
- lib/selenium/webdriver/devtools/console_event.rb
|
|
368
|
+
- lib/selenium/webdriver/devtools/exception_event.rb
|
|
369
|
+
- lib/selenium/webdriver/devtools/mutation_event.rb
|
|
370
|
+
- lib/selenium/webdriver/devtools/pinned_script.rb
|
|
371
|
+
- lib/selenium/webdriver/devtools/request.rb
|
|
372
|
+
- lib/selenium/webdriver/devtools/response.rb
|
|
261
373
|
- lib/selenium/webdriver/edge.rb
|
|
262
|
-
- lib/selenium/webdriver/edge/bridge.rb
|
|
263
374
|
- lib/selenium/webdriver/edge/driver.rb
|
|
375
|
+
- lib/selenium/webdriver/edge/features.rb
|
|
264
376
|
- lib/selenium/webdriver/edge/options.rb
|
|
377
|
+
- lib/selenium/webdriver/edge/profile.rb
|
|
265
378
|
- lib/selenium/webdriver/edge/service.rb
|
|
266
379
|
- lib/selenium/webdriver/firefox.rb
|
|
267
|
-
- lib/selenium/webdriver/firefox/binary.rb
|
|
268
380
|
- lib/selenium/webdriver/firefox/driver.rb
|
|
269
381
|
- 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
|
|
382
|
+
- lib/selenium/webdriver/firefox/features.rb
|
|
278
383
|
- lib/selenium/webdriver/firefox/options.rb
|
|
279
384
|
- lib/selenium/webdriver/firefox/profile.rb
|
|
280
385
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
|
@@ -287,39 +392,41 @@ files:
|
|
|
287
392
|
- lib/selenium/webdriver/remote.rb
|
|
288
393
|
- lib/selenium/webdriver/remote/bridge.rb
|
|
289
394
|
- lib/selenium/webdriver/remote/capabilities.rb
|
|
395
|
+
- lib/selenium/webdriver/remote/commands.rb
|
|
290
396
|
- lib/selenium/webdriver/remote/driver.rb
|
|
291
397
|
- lib/selenium/webdriver/remote/http/common.rb
|
|
292
398
|
- lib/selenium/webdriver/remote/http/curb.rb
|
|
293
399
|
- 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
400
|
- lib/selenium/webdriver/remote/response.rb
|
|
298
401
|
- 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
402
|
- lib/selenium/webdriver/safari.rb
|
|
303
|
-
- lib/selenium/webdriver/safari/bridge.rb
|
|
304
403
|
- lib/selenium/webdriver/safari/driver.rb
|
|
404
|
+
- lib/selenium/webdriver/safari/features.rb
|
|
305
405
|
- lib/selenium/webdriver/safari/options.rb
|
|
306
406
|
- lib/selenium/webdriver/safari/service.rb
|
|
307
407
|
- lib/selenium/webdriver/support.rb
|
|
308
408
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
|
309
409
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
|
410
|
+
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
|
411
|
+
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
|
310
412
|
- lib/selenium/webdriver/support/color.rb
|
|
311
413
|
- lib/selenium/webdriver/support/escaper.rb
|
|
312
414
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
|
415
|
+
- lib/selenium/webdriver/support/guards.rb
|
|
416
|
+
- lib/selenium/webdriver/support/guards/guard.rb
|
|
417
|
+
- lib/selenium/webdriver/support/guards/guard_condition.rb
|
|
418
|
+
- lib/selenium/webdriver/support/relative_locator.rb
|
|
313
419
|
- lib/selenium/webdriver/support/select.rb
|
|
314
420
|
- lib/selenium/webdriver/version.rb
|
|
315
421
|
- selenium-webdriver.gemspec
|
|
316
|
-
homepage: https://
|
|
422
|
+
homepage: https://selenium.dev
|
|
317
423
|
licenses:
|
|
318
424
|
- Apache-2.0
|
|
319
425
|
metadata:
|
|
320
|
-
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/
|
|
321
|
-
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/
|
|
322
|
-
|
|
426
|
+
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
427
|
+
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
428
|
+
rubygems_mfa_required: 'true'
|
|
429
|
+
post_install_message:
|
|
323
430
|
rdoc_options: []
|
|
324
431
|
require_paths:
|
|
325
432
|
- lib
|
|
@@ -327,16 +434,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
327
434
|
requirements:
|
|
328
435
|
- - ">="
|
|
329
436
|
- !ruby/object:Gem::Version
|
|
330
|
-
version: '2.
|
|
437
|
+
version: '2.7'
|
|
331
438
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
332
439
|
requirements:
|
|
333
440
|
- - ">"
|
|
334
441
|
- !ruby/object:Gem::Version
|
|
335
442
|
version: 1.3.1
|
|
336
443
|
requirements: []
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
signing_key:
|
|
444
|
+
rubygems_version: 3.0.3.1
|
|
445
|
+
signing_key:
|
|
340
446
|
specification_version: 4
|
|
341
|
-
summary:
|
|
447
|
+
summary: Selenium is a browser automation tool for automated testing of webapps and
|
|
448
|
+
more
|
|
342
449
|
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
|