selenium-webdriver 3.142.7 → 4.16.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 (188) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +685 -5
  3. data/Gemfile +6 -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 +93 -90
  11. data/lib/selenium/webdriver/atoms/findElements.js +122 -0
  12. data/lib/selenium/webdriver/atoms/getAttribute.js +100 -7
  13. data/lib/selenium/webdriver/atoms/isDisplayed.js +77 -78
  14. data/lib/selenium/webdriver/atoms/mutationListener.js +55 -0
  15. data/lib/selenium/webdriver/atoms.rb +5 -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 +48 -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 +7 -29
  32. data/lib/selenium/webdriver/chrome.rb +5 -20
  33. data/lib/selenium/webdriver/chromium/driver.rb +60 -0
  34. data/lib/selenium/webdriver/{chrome/bridge.rb → chromium/features.rb} +48 -17
  35. data/lib/selenium/webdriver/chromium/options.rb +243 -0
  36. data/lib/selenium/webdriver/chromium/profile.rb +113 -0
  37. data/lib/selenium/webdriver/chromium.rb +29 -0
  38. data/lib/selenium/webdriver/common/action_builder.rb +126 -238
  39. data/lib/selenium/webdriver/common/child_process.rb +124 -0
  40. data/lib/selenium/webdriver/common/driver.rb +82 -43
  41. data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -2
  42. data/lib/selenium/webdriver/common/driver_extensions/{has_location.rb → full_page_screenshot.rb} +13 -11
  43. data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -2
  44. data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +49 -0
  45. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +87 -0
  46. data/lib/selenium/webdriver/common/driver_extensions/{has_touch_screen.rb → has_bidi.rb} +9 -9
  47. data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +86 -0
  48. data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +36 -0
  49. data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +42 -0
  50. data/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -2
  51. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +41 -0
  52. data/lib/selenium/webdriver/common/driver_extensions/has_file_downloads.rb +65 -0
  53. data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +36 -0
  54. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +143 -0
  55. data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_logs.rb} +4 -4
  56. data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +16 -1
  57. data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +69 -0
  58. data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +11 -13
  59. data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +75 -0
  60. data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
  61. data/lib/selenium/webdriver/common/driver_finder.rb +45 -0
  62. data/lib/selenium/webdriver/common/element.rb +89 -29
  63. data/lib/selenium/webdriver/common/error.rb +53 -194
  64. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +2 -2
  65. data/lib/selenium/webdriver/common/interactions/input_device.rb +10 -4
  66. data/lib/selenium/webdriver/common/interactions/interaction.rb +12 -22
  67. data/lib/selenium/webdriver/common/interactions/interactions.rb +24 -4
  68. data/lib/selenium/webdriver/common/interactions/key_actions.rb +10 -6
  69. data/lib/selenium/webdriver/common/interactions/key_input.rb +11 -27
  70. data/lib/selenium/webdriver/common/interactions/none_input.rb +10 -8
  71. data/lib/selenium/webdriver/common/interactions/pause.rb +49 -0
  72. data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +71 -82
  73. data/lib/selenium/webdriver/common/interactions/pointer_cancel.rb +45 -0
  74. data/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb +63 -0
  75. data/lib/selenium/webdriver/common/interactions/pointer_input.rb +15 -84
  76. data/lib/selenium/webdriver/common/interactions/pointer_move.rb +60 -0
  77. data/lib/selenium/webdriver/common/interactions/pointer_press.rb +85 -0
  78. data/lib/selenium/webdriver/common/interactions/scroll.rb +59 -0
  79. data/lib/selenium/webdriver/common/interactions/scroll_origin.rb +48 -0
  80. data/lib/selenium/webdriver/common/interactions/typing_interaction.rb +54 -0
  81. data/lib/selenium/webdriver/common/interactions/wheel_actions.rb +113 -0
  82. data/lib/selenium/webdriver/common/{w3c_manager.rb → interactions/wheel_input.rb} +14 -17
  83. data/lib/selenium/webdriver/common/keys.rb +1 -0
  84. data/lib/selenium/webdriver/common/local_driver.rb +46 -0
  85. data/lib/selenium/webdriver/common/log_entry.rb +2 -2
  86. data/lib/selenium/webdriver/common/logger.rb +119 -19
  87. data/lib/selenium/webdriver/common/manager.rb +11 -38
  88. data/lib/selenium/webdriver/common/options.rb +154 -23
  89. data/lib/selenium/webdriver/common/platform.rb +15 -52
  90. data/lib/selenium/webdriver/common/port_prober.rb +4 -6
  91. data/lib/selenium/webdriver/common/profile_helper.rb +11 -9
  92. data/lib/selenium/webdriver/common/proxy.rb +8 -5
  93. data/lib/selenium/webdriver/common/search_context.rb +7 -9
  94. data/lib/selenium/webdriver/common/selenium_manager.rb +140 -0
  95. data/lib/selenium/webdriver/common/service.rb +26 -143
  96. data/lib/selenium/webdriver/common/service_manager.rb +144 -0
  97. data/lib/selenium/webdriver/common/shadow_root.rb +86 -0
  98. data/lib/selenium/webdriver/common/socket_lock.rb +4 -4
  99. data/lib/selenium/webdriver/common/socket_poller.rb +4 -4
  100. data/lib/selenium/webdriver/common/takes_screenshot.rb +65 -0
  101. data/lib/selenium/webdriver/common/target_locator.rb +31 -4
  102. data/lib/selenium/webdriver/common/timeouts.rb +31 -4
  103. data/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +85 -0
  104. data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +72 -0
  105. data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
  106. data/lib/selenium/webdriver/common/wait.rb +1 -1
  107. data/lib/selenium/webdriver/common/websocket_connection.rb +164 -0
  108. data/lib/selenium/webdriver/common/window.rb +6 -10
  109. data/lib/selenium/webdriver/common/zipper.rb +4 -10
  110. data/lib/selenium/webdriver/common.rb +43 -20
  111. data/lib/selenium/webdriver/devtools/console_event.rb +36 -0
  112. data/lib/selenium/webdriver/devtools/exception_event.rb +34 -0
  113. data/lib/selenium/webdriver/devtools/mutation_event.rb +35 -0
  114. data/lib/selenium/webdriver/devtools/network_interceptor.rb +173 -0
  115. data/lib/selenium/webdriver/devtools/pinned_script.rb +57 -0
  116. data/lib/selenium/webdriver/devtools/request.rb +65 -0
  117. data/lib/selenium/webdriver/devtools/response.rb +64 -0
  118. data/lib/selenium/webdriver/devtools.rb +96 -0
  119. data/lib/selenium/webdriver/edge/driver.rb +11 -27
  120. data/lib/selenium/webdriver/edge/features.rb +48 -0
  121. data/lib/selenium/webdriver/edge/options.rb +18 -43
  122. data/lib/selenium/webdriver/edge/profile.rb +33 -0
  123. data/lib/selenium/webdriver/edge/service.rb +8 -23
  124. data/lib/selenium/webdriver/edge.rb +11 -16
  125. data/lib/selenium/webdriver/firefox/driver.rb +38 -19
  126. data/lib/selenium/webdriver/firefox/extension.rb +8 -0
  127. data/lib/selenium/webdriver/firefox/features.rb +70 -0
  128. data/lib/selenium/webdriver/firefox/options.rb +73 -61
  129. data/lib/selenium/webdriver/firefox/profile.rb +20 -72
  130. data/lib/selenium/webdriver/firefox/service.rb +3 -25
  131. data/lib/selenium/webdriver/firefox/util.rb +1 -1
  132. data/lib/selenium/webdriver/firefox.rb +17 -28
  133. data/lib/selenium/webdriver/ie/driver.rb +5 -45
  134. data/lib/selenium/webdriver/ie/features.rb +34 -0
  135. data/lib/selenium/webdriver/ie/options.rb +14 -44
  136. data/lib/selenium/webdriver/ie/service.rb +3 -27
  137. data/lib/selenium/webdriver/ie.rb +4 -16
  138. data/lib/selenium/webdriver/remote/bridge/commands.rb +164 -0
  139. data/lib/selenium/webdriver/remote/bridge.rb +574 -88
  140. data/lib/selenium/webdriver/remote/capabilities.rb +144 -158
  141. data/lib/selenium/webdriver/remote/driver.rb +45 -14
  142. data/lib/selenium/webdriver/remote/features.rb +75 -0
  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 +24 -33
  146. data/lib/selenium/webdriver/remote/response.rb +17 -49
  147. data/lib/selenium/webdriver/remote/server_error.rb +1 -1
  148. data/lib/selenium/webdriver/remote.rb +15 -12
  149. data/lib/selenium/webdriver/safari/driver.rb +7 -29
  150. data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +7 -5
  151. data/lib/selenium/webdriver/safari/options.rb +12 -27
  152. data/lib/selenium/webdriver/safari/service.rb +13 -11
  153. data/lib/selenium/webdriver/safari.rb +14 -20
  154. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
  155. data/lib/selenium/webdriver/support/color.rb +24 -24
  156. data/lib/selenium/webdriver/support/event_firing_bridge.rb +5 -5
  157. data/lib/selenium/webdriver/support/guards/guard.rb +90 -0
  158. data/lib/selenium/webdriver/{firefox/marionette/bridge.rb → support/guards/guard_condition.rb} +21 -20
  159. data/lib/selenium/webdriver/support/guards.rb +95 -0
  160. data/lib/selenium/webdriver/support/relative_locator.rb +50 -0
  161. data/lib/selenium/webdriver/support/select.rb +6 -4
  162. data/lib/selenium/webdriver/support.rb +1 -0
  163. data/lib/selenium/webdriver/version.rb +1 -1
  164. data/lib/selenium/webdriver.rb +19 -17
  165. data/selenium-webdriver.gemspec +36 -18
  166. metadata +161 -91
  167. data/lib/selenium/webdriver/common/bridge_helper.rb +0 -82
  168. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +0 -58
  169. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -64
  170. data/lib/selenium/webdriver/common/mouse.rb +0 -89
  171. data/lib/selenium/webdriver/common/touch_action_builder.rb +0 -78
  172. data/lib/selenium/webdriver/common/touch_screen.rb +0 -123
  173. data/lib/selenium/webdriver/common/w3c_action_builder.rb +0 -212
  174. data/lib/selenium/webdriver/edge/bridge.rb +0 -76
  175. data/lib/selenium/webdriver/firefox/binary.rb +0 -187
  176. data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
  177. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  178. data/lib/selenium/webdriver/firefox/launcher.rb +0 -111
  179. data/lib/selenium/webdriver/firefox/legacy/driver.rb +0 -83
  180. data/lib/selenium/webdriver/firefox/marionette/driver.rb +0 -90
  181. data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
  182. data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
  183. data/lib/selenium/webdriver/remote/http/persistent.rb +0 -60
  184. data/lib/selenium/webdriver/remote/oss/bridge.rb +0 -594
  185. data/lib/selenium/webdriver/remote/oss/commands.rb +0 -223
  186. data/lib/selenium/webdriver/remote/w3c/bridge.rb +0 -605
  187. data/lib/selenium/webdriver/remote/w3c/capabilities.rb +0 -310
  188. 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.16.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-12-06 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,70 @@ 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
202
245
  - lib/selenium/webdriver/common.rb
203
246
  - lib/selenium/webdriver/common/action_builder.rb
204
247
  - lib/selenium/webdriver/common/alert.rb
205
- - lib/selenium/webdriver/common/bridge_helper.rb
248
+ - lib/selenium/webdriver/common/child_process.rb
206
249
  - lib/selenium/webdriver/common/driver.rb
207
250
  - lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
251
+ - lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
208
252
  - lib/selenium/webdriver/common/driver_extensions/has_addons.rb
253
+ - lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
254
+ - lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
255
+ - lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
256
+ - lib/selenium/webdriver/common/driver_extensions/has_casting.rb
257
+ - lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
258
+ - lib/selenium/webdriver/common/driver_extensions/has_context.rb
209
259
  - lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
210
- - lib/selenium/webdriver/common/driver_extensions/has_location.rb
260
+ - lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
261
+ - lib/selenium/webdriver/common/driver_extensions/has_file_downloads.rb
262
+ - lib/selenium/webdriver/common/driver_extensions/has_launching.rb
263
+ - lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
264
+ - lib/selenium/webdriver/common/driver_extensions/has_logs.rb
211
265
  - lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
212
- - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
266
+ - lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
213
267
  - lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
214
- - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
268
+ - lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
215
269
  - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
216
- - lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb
217
270
  - 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
271
+ - lib/selenium/webdriver/common/driver_extensions/prints_page.rb
220
272
  - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
273
+ - lib/selenium/webdriver/common/driver_finder.rb
221
274
  - lib/selenium/webdriver/common/element.rb
222
275
  - lib/selenium/webdriver/common/error.rb
223
276
  - lib/selenium/webdriver/common/file_reaper.rb
@@ -230,15 +283,24 @@ files:
230
283
  - lib/selenium/webdriver/common/interactions/key_actions.rb
231
284
  - lib/selenium/webdriver/common/interactions/key_input.rb
232
285
  - lib/selenium/webdriver/common/interactions/none_input.rb
286
+ - lib/selenium/webdriver/common/interactions/pause.rb
233
287
  - lib/selenium/webdriver/common/interactions/pointer_actions.rb
288
+ - lib/selenium/webdriver/common/interactions/pointer_cancel.rb
289
+ - lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
234
290
  - lib/selenium/webdriver/common/interactions/pointer_input.rb
235
- - lib/selenium/webdriver/common/keyboard.rb
291
+ - lib/selenium/webdriver/common/interactions/pointer_move.rb
292
+ - lib/selenium/webdriver/common/interactions/pointer_press.rb
293
+ - lib/selenium/webdriver/common/interactions/scroll.rb
294
+ - lib/selenium/webdriver/common/interactions/scroll_origin.rb
295
+ - lib/selenium/webdriver/common/interactions/typing_interaction.rb
296
+ - lib/selenium/webdriver/common/interactions/wheel_actions.rb
297
+ - lib/selenium/webdriver/common/interactions/wheel_input.rb
236
298
  - lib/selenium/webdriver/common/keys.rb
299
+ - lib/selenium/webdriver/common/local_driver.rb
237
300
  - lib/selenium/webdriver/common/log_entry.rb
238
301
  - lib/selenium/webdriver/common/logger.rb
239
302
  - lib/selenium/webdriver/common/logs.rb
240
303
  - lib/selenium/webdriver/common/manager.rb
241
- - lib/selenium/webdriver/common/mouse.rb
242
304
  - lib/selenium/webdriver/common/navigation.rb
243
305
  - lib/selenium/webdriver/common/options.rb
244
306
  - lib/selenium/webdriver/common/platform.rb
@@ -246,35 +308,40 @@ files:
246
308
  - lib/selenium/webdriver/common/profile_helper.rb
247
309
  - lib/selenium/webdriver/common/proxy.rb
248
310
  - lib/selenium/webdriver/common/search_context.rb
311
+ - lib/selenium/webdriver/common/selenium_manager.rb
249
312
  - lib/selenium/webdriver/common/service.rb
313
+ - lib/selenium/webdriver/common/service_manager.rb
314
+ - lib/selenium/webdriver/common/shadow_root.rb
250
315
  - lib/selenium/webdriver/common/socket_lock.rb
251
316
  - lib/selenium/webdriver/common/socket_poller.rb
317
+ - lib/selenium/webdriver/common/takes_screenshot.rb
252
318
  - lib/selenium/webdriver/common/target_locator.rb
253
319
  - 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
320
+ - lib/selenium/webdriver/common/virtual_authenticator/credential.rb
321
+ - lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb
322
+ - lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb
258
323
  - lib/selenium/webdriver/common/wait.rb
324
+ - lib/selenium/webdriver/common/websocket_connection.rb
259
325
  - lib/selenium/webdriver/common/window.rb
260
326
  - lib/selenium/webdriver/common/zipper.rb
327
+ - lib/selenium/webdriver/devtools.rb
328
+ - lib/selenium/webdriver/devtools/console_event.rb
329
+ - lib/selenium/webdriver/devtools/exception_event.rb
330
+ - lib/selenium/webdriver/devtools/mutation_event.rb
331
+ - lib/selenium/webdriver/devtools/network_interceptor.rb
332
+ - lib/selenium/webdriver/devtools/pinned_script.rb
333
+ - lib/selenium/webdriver/devtools/request.rb
334
+ - lib/selenium/webdriver/devtools/response.rb
261
335
  - lib/selenium/webdriver/edge.rb
262
- - lib/selenium/webdriver/edge/bridge.rb
263
336
  - lib/selenium/webdriver/edge/driver.rb
337
+ - lib/selenium/webdriver/edge/features.rb
264
338
  - lib/selenium/webdriver/edge/options.rb
339
+ - lib/selenium/webdriver/edge/profile.rb
265
340
  - lib/selenium/webdriver/edge/service.rb
266
341
  - lib/selenium/webdriver/firefox.rb
267
- - lib/selenium/webdriver/firefox/binary.rb
268
342
  - lib/selenium/webdriver/firefox/driver.rb
269
343
  - 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
344
+ - lib/selenium/webdriver/firefox/features.rb
278
345
  - lib/selenium/webdriver/firefox/options.rb
279
346
  - lib/selenium/webdriver/firefox/profile.rb
280
347
  - lib/selenium/webdriver/firefox/profiles_ini.rb
@@ -282,26 +349,23 @@ files:
282
349
  - lib/selenium/webdriver/firefox/util.rb
283
350
  - lib/selenium/webdriver/ie.rb
284
351
  - lib/selenium/webdriver/ie/driver.rb
352
+ - lib/selenium/webdriver/ie/features.rb
285
353
  - lib/selenium/webdriver/ie/options.rb
286
354
  - lib/selenium/webdriver/ie/service.rb
287
355
  - lib/selenium/webdriver/remote.rb
288
356
  - lib/selenium/webdriver/remote/bridge.rb
357
+ - lib/selenium/webdriver/remote/bridge/commands.rb
289
358
  - lib/selenium/webdriver/remote/capabilities.rb
290
359
  - lib/selenium/webdriver/remote/driver.rb
360
+ - lib/selenium/webdriver/remote/features.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,58 +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
- module DriverExtensions
23
- module HasNetworkConnection
24
- def network_connection_type
25
- connection_value = @bridge.network_connection
26
-
27
- connection_type = values_to_type[connection_value]
28
-
29
- # In case the connection type is not recognized return the
30
- # connection value.
31
- connection_type || connection_value
32
- end
33
-
34
- def network_connection_type=(connection_type)
35
- raise ArgumentError, 'Invalid connection type' unless valid_type? connection_type
36
-
37
- connection_value = type_to_values[connection_type]
38
-
39
- @bridge.network_connection = connection_value
40
- end
41
-
42
- private
43
-
44
- def type_to_values
45
- {airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0}
46
- end
47
-
48
- def values_to_type
49
- type_to_values.invert
50
- end
51
-
52
- def valid_type?(type)
53
- type_to_values.key? type
54
- end
55
- end # HasNetworkConnection
56
- end # DriverExtensions
57
- end # WebDriver
58
- end # Selenium