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.
Files changed (186) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +611 -5
  3. data/Gemfile +5 -1
  4. data/LICENSE +1 -1
  5. data/NOTICE +2 -0
  6. data/README.md +4 -5
  7. data/bin/linux/selenium-manager +0 -0
  8. data/bin/macos/selenium-manager +0 -0
  9. data/bin/windows/selenium-manager.exe +0 -0
  10. data/lib/selenium/server.rb +94 -79
  11. data/lib/selenium/webdriver/atoms/findElements.js +121 -0
  12. data/lib/selenium/webdriver/atoms/getAttribute.js +100 -7
  13. data/lib/selenium/webdriver/atoms/isDisplayed.js +76 -78
  14. data/lib/selenium/webdriver/atoms/mutationListener.js +55 -0
  15. data/lib/selenium/webdriver/atoms.rb +2 -3
  16. data/lib/selenium/webdriver/bidi/browsing_context.rb +88 -0
  17. data/lib/selenium/webdriver/bidi/browsing_context_info.rb +35 -0
  18. data/lib/selenium/webdriver/bidi/log/base_log_entry.rb +35 -0
  19. data/lib/selenium/webdriver/bidi/log/console_log_entry.rb +35 -0
  20. data/lib/selenium/webdriver/bidi/log/filter_by.rb +40 -0
  21. data/lib/selenium/webdriver/bidi/log/generic_log_entry.rb +33 -0
  22. data/lib/selenium/webdriver/bidi/log/javascript_log_entry.rb +33 -0
  23. data/lib/selenium/webdriver/bidi/log_inspector.rb +143 -0
  24. data/lib/selenium/webdriver/bidi/navigate_result.rb +33 -0
  25. data/lib/selenium/webdriver/bidi/session.rb +51 -0
  26. data/lib/selenium/webdriver/{common/keyboard.rb → bidi.rb} +21 -35
  27. data/lib/selenium/webdriver/chrome/driver.rb +9 -86
  28. data/lib/selenium/webdriver/chrome/features.rb +44 -0
  29. data/lib/selenium/webdriver/chrome/options.rb +9 -158
  30. data/lib/selenium/webdriver/chrome/profile.rb +3 -80
  31. data/lib/selenium/webdriver/chrome/service.rb +6 -33
  32. data/lib/selenium/webdriver/chrome.rb +5 -18
  33. data/lib/selenium/webdriver/chromium/driver.rb +61 -0
  34. data/lib/selenium/webdriver/{chrome/bridge.rb → chromium/features.rb} +51 -16
  35. data/lib/selenium/webdriver/chromium/options.rb +261 -0
  36. data/lib/selenium/webdriver/chromium/profile.rb +113 -0
  37. data/lib/selenium/webdriver/chromium/service.rb +42 -0
  38. data/lib/selenium/webdriver/chromium.rb +32 -0
  39. data/lib/selenium/webdriver/common/action_builder.rb +128 -238
  40. data/lib/selenium/webdriver/common/child_process.rb +124 -0
  41. data/lib/selenium/webdriver/common/driver.rb +94 -43
  42. data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -2
  43. data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +42 -0
  44. data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -2
  45. data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +49 -0
  46. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +87 -0
  47. data/lib/selenium/webdriver/common/driver_extensions/{has_touch_screen.rb → has_bidi.rb} +9 -9
  48. data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +86 -0
  49. data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +36 -0
  50. data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +42 -0
  51. data/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -2
  52. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +41 -0
  53. data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +36 -0
  54. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -9
  55. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +143 -0
  56. data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_logs.rb} +4 -4
  57. data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +16 -1
  58. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
  59. data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +69 -0
  60. data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +11 -13
  61. data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +75 -0
  62. data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
  63. data/lib/selenium/webdriver/common/driver_finder.rb +47 -0
  64. data/lib/selenium/webdriver/common/element.rb +89 -29
  65. data/lib/selenium/webdriver/common/error.rb +53 -194
  66. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +2 -2
  67. data/lib/selenium/webdriver/common/interactions/input_device.rb +10 -4
  68. data/lib/selenium/webdriver/common/interactions/interaction.rb +12 -22
  69. data/lib/selenium/webdriver/common/interactions/interactions.rb +24 -4
  70. data/lib/selenium/webdriver/common/interactions/key_actions.rb +10 -6
  71. data/lib/selenium/webdriver/common/interactions/key_input.rb +11 -27
  72. data/lib/selenium/webdriver/common/interactions/none_input.rb +10 -8
  73. data/lib/selenium/webdriver/common/interactions/pause.rb +49 -0
  74. data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +71 -82
  75. data/lib/selenium/webdriver/common/interactions/pointer_cancel.rb +45 -0
  76. data/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb +63 -0
  77. data/lib/selenium/webdriver/common/interactions/pointer_input.rb +15 -84
  78. data/lib/selenium/webdriver/common/interactions/pointer_move.rb +60 -0
  79. data/lib/selenium/webdriver/common/interactions/pointer_press.rb +85 -0
  80. data/lib/selenium/webdriver/common/interactions/scroll.rb +59 -0
  81. data/lib/selenium/webdriver/common/interactions/scroll_origin.rb +48 -0
  82. data/lib/selenium/webdriver/common/interactions/typing_interaction.rb +54 -0
  83. data/lib/selenium/webdriver/common/interactions/wheel_actions.rb +113 -0
  84. data/lib/selenium/webdriver/common/{w3c_manager.rb → interactions/wheel_input.rb} +14 -17
  85. data/lib/selenium/webdriver/common/keys.rb +1 -0
  86. data/lib/selenium/webdriver/common/local_driver.rb +55 -0
  87. data/lib/selenium/webdriver/common/log_entry.rb +2 -2
  88. data/lib/selenium/webdriver/common/logger.rb +119 -19
  89. data/lib/selenium/webdriver/common/manager.rb +11 -38
  90. data/lib/selenium/webdriver/common/options.rb +169 -23
  91. data/lib/selenium/webdriver/common/platform.rb +14 -6
  92. data/lib/selenium/webdriver/common/port_prober.rb +4 -6
  93. data/lib/selenium/webdriver/common/profile_helper.rb +11 -9
  94. data/lib/selenium/webdriver/common/proxy.rb +8 -5
  95. data/lib/selenium/webdriver/common/search_context.rb +7 -9
  96. data/lib/selenium/webdriver/common/selenium_manager.rb +125 -0
  97. data/lib/selenium/webdriver/common/service.rb +26 -137
  98. data/lib/selenium/webdriver/common/service_manager.rb +144 -0
  99. data/lib/selenium/webdriver/common/shadow_root.rb +86 -0
  100. data/lib/selenium/webdriver/common/socket_lock.rb +4 -4
  101. data/lib/selenium/webdriver/common/socket_poller.rb +4 -4
  102. data/lib/selenium/webdriver/common/takes_screenshot.rb +65 -0
  103. data/lib/selenium/webdriver/common/target_locator.rb +31 -4
  104. data/lib/selenium/webdriver/common/timeouts.rb +31 -4
  105. data/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +85 -0
  106. data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +72 -0
  107. data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
  108. data/lib/selenium/webdriver/common/wait.rb +1 -1
  109. data/lib/selenium/webdriver/common/websocket_connection.rb +164 -0
  110. data/lib/selenium/webdriver/common/window.rb +6 -10
  111. data/lib/selenium/webdriver/common/zipper.rb +4 -10
  112. data/lib/selenium/webdriver/common.rb +42 -18
  113. data/lib/selenium/webdriver/devtools/console_event.rb +36 -0
  114. data/lib/selenium/webdriver/devtools/exception_event.rb +34 -0
  115. data/lib/selenium/webdriver/devtools/mutation_event.rb +35 -0
  116. data/lib/selenium/webdriver/devtools/network_interceptor.rb +173 -0
  117. data/lib/selenium/webdriver/devtools/pinned_script.rb +57 -0
  118. data/lib/selenium/webdriver/devtools/request.rb +65 -0
  119. data/lib/selenium/webdriver/devtools/response.rb +64 -0
  120. data/lib/selenium/webdriver/devtools.rb +96 -0
  121. data/lib/selenium/webdriver/edge/driver.rb +11 -27
  122. data/lib/selenium/webdriver/edge/features.rb +44 -0
  123. data/lib/selenium/webdriver/edge/options.rb +18 -43
  124. data/lib/selenium/webdriver/edge/profile.rb +33 -0
  125. data/lib/selenium/webdriver/edge/service.rb +7 -27
  126. data/lib/selenium/webdriver/edge.rb +11 -14
  127. data/lib/selenium/webdriver/firefox/driver.rb +38 -19
  128. data/lib/selenium/webdriver/firefox/extension.rb +8 -0
  129. data/lib/selenium/webdriver/firefox/features.rb +66 -0
  130. data/lib/selenium/webdriver/firefox/options.rb +77 -50
  131. data/lib/selenium/webdriver/firefox/profile.rb +17 -71
  132. data/lib/selenium/webdriver/firefox/service.rb +3 -13
  133. data/lib/selenium/webdriver/firefox/util.rb +1 -1
  134. data/lib/selenium/webdriver/firefox.rb +17 -28
  135. data/lib/selenium/webdriver/ie/driver.rb +5 -45
  136. data/lib/selenium/webdriver/ie/options.rb +15 -46
  137. data/lib/selenium/webdriver/ie/service.rb +11 -19
  138. data/lib/selenium/webdriver/ie.rb +3 -16
  139. data/lib/selenium/webdriver/remote/bridge/commands.rb +170 -0
  140. data/lib/selenium/webdriver/remote/bridge.rb +592 -87
  141. data/lib/selenium/webdriver/remote/capabilities.rb +182 -124
  142. data/lib/selenium/webdriver/remote/driver.rb +30 -15
  143. data/lib/selenium/webdriver/remote/http/common.rb +3 -8
  144. data/lib/selenium/webdriver/remote/http/curb.rb +1 -3
  145. data/lib/selenium/webdriver/remote/http/default.rb +23 -31
  146. data/lib/selenium/webdriver/remote/response.rb +17 -49
  147. data/lib/selenium/webdriver/remote.rb +14 -12
  148. data/lib/selenium/webdriver/safari/driver.rb +7 -29
  149. data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -5
  150. data/lib/selenium/webdriver/safari/options.rb +12 -27
  151. data/lib/selenium/webdriver/safari/service.rb +13 -11
  152. data/lib/selenium/webdriver/safari.rb +14 -20
  153. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
  154. data/lib/selenium/webdriver/support/color.rb +24 -24
  155. data/lib/selenium/webdriver/support/event_firing_bridge.rb +4 -4
  156. data/lib/selenium/webdriver/support/guards/guard.rb +87 -0
  157. data/lib/selenium/webdriver/{firefox/marionette/bridge.rb → support/guards/guard_condition.rb} +21 -20
  158. data/lib/selenium/webdriver/support/guards.rb +95 -0
  159. data/lib/selenium/webdriver/support/relative_locator.rb +50 -0
  160. data/lib/selenium/webdriver/support/select.rb +6 -4
  161. data/lib/selenium/webdriver/support.rb +1 -0
  162. data/lib/selenium/webdriver/version.rb +1 -1
  163. data/lib/selenium/webdriver.rb +18 -17
  164. data/selenium-webdriver.gemspec +36 -18
  165. metadata +159 -89
  166. data/lib/selenium/webdriver/common/bridge_helper.rb +0 -82
  167. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -64
  168. data/lib/selenium/webdriver/common/mouse.rb +0 -89
  169. data/lib/selenium/webdriver/common/touch_action_builder.rb +0 -78
  170. data/lib/selenium/webdriver/common/touch_screen.rb +0 -123
  171. data/lib/selenium/webdriver/common/w3c_action_builder.rb +0 -212
  172. data/lib/selenium/webdriver/edge/bridge.rb +0 -76
  173. data/lib/selenium/webdriver/firefox/binary.rb +0 -187
  174. data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
  175. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  176. data/lib/selenium/webdriver/firefox/launcher.rb +0 -111
  177. data/lib/selenium/webdriver/firefox/legacy/driver.rb +0 -83
  178. data/lib/selenium/webdriver/firefox/marionette/driver.rb +0 -90
  179. data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
  180. data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
  181. data/lib/selenium/webdriver/remote/http/persistent.rb +0 -60
  182. data/lib/selenium/webdriver/remote/oss/bridge.rb +0 -594
  183. data/lib/selenium/webdriver/remote/oss/commands.rb +0 -223
  184. data/lib/selenium/webdriver/remote/w3c/bridge.rb +0 -605
  185. data/lib/selenium/webdriver/remote/w3c/capabilities.rb +0 -310
  186. 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: 3.142.7
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: 2019-12-27 00:00:00.000000000 Z
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: '0.5'
21
- - - "<"
21
+ version: '3.2'
22
+ - - ">="
22
23
  - !ruby/object:Gem::Version
23
- version: '4.0'
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: '0.5'
32
- - - "<"
31
+ version: '3.2'
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '4.0'
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
- name: rubyzip
42
- prerelease: false
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
- name: ffi
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: 0.67.0
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: 0.67.0
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: '0'
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: '0'
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: '0'
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: '0'
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: 0.9.11
167
- name: yard
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: WebDriver is a tool for writing automated tests of websites. It aims
176
- to mimic the behaviour of a real user, and as such interacts with the HTML of the
177
- application.
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/bridge_helper.rb
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/has_remote_status.rb
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/rotatable.rb
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/keyboard.rb
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/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
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/extension/prefs.json
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://github.com/SeleniumHQ/selenium
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/master/rb/CHANGES
321
- source_code_uri: https://github.com/SeleniumHQ/selenium/tree/master/rb
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: '2.3'
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
- rubyforge_project:
338
- rubygems_version: 2.6.14
407
+ rubygems_version: 3.2.33
339
408
  signing_key:
340
409
  specification_version: 4
341
- summary: The next generation developer focused tool for automated testing of webapps
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