selenium-devtools 0.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/lib/selenium/devtools/v88.rb +1 -0
  3. data/lib/selenium/devtools/v88/accessibility.rb +73 -0
  4. data/lib/selenium/devtools/v88/animation.rb +100 -0
  5. data/lib/selenium/devtools/v88/application_cache.rb +66 -0
  6. data/lib/selenium/devtools/v88/audits.rb +63 -0
  7. data/lib/selenium/devtools/v88/background_service.rb +69 -0
  8. data/lib/selenium/devtools/v88/browser.rb +130 -0
  9. data/lib/selenium/devtools/v88/cache_storage.rb +75 -0
  10. data/lib/selenium/devtools/v88/cast.rb +72 -0
  11. data/lib/selenium/devtools/v88/console.rb +59 -0
  12. data/lib/selenium/devtools/v88/css.rb +181 -0
  13. data/lib/selenium/devtools/v88/database.rb +66 -0
  14. data/lib/selenium/devtools/v88/debugger.rb +233 -0
  15. data/lib/selenium/devtools/v88/device_orientation.rb +55 -0
  16. data/lib/selenium/devtools/v88/dom.rb +329 -0
  17. data/lib/selenium/devtools/v88/dom_debugger.rb +95 -0
  18. data/lib/selenium/devtools/v88/dom_snapshot.rb +67 -0
  19. data/lib/selenium/devtools/v88/dom_storage.rb +81 -0
  20. data/lib/selenium/devtools/v88/emulation.rb +198 -0
  21. data/lib/selenium/devtools/v88/fetch.rb +99 -0
  22. data/lib/selenium/devtools/v88/headless_experimental.rb +63 -0
  23. data/lib/selenium/devtools/v88/heap_profiler.rb +109 -0
  24. data/lib/selenium/devtools/v88/indexed_db.rb +102 -0
  25. data/lib/selenium/devtools/v88/input.rb +148 -0
  26. data/lib/selenium/devtools/v88/inspector.rb +57 -0
  27. data/lib/selenium/devtools/v88/io.rb +61 -0
  28. data/lib/selenium/devtools/v88/layer_tree.rb +97 -0
  29. data/lib/selenium/devtools/v88/log.rb +68 -0
  30. data/lib/selenium/devtools/v88/media.rb +59 -0
  31. data/lib/selenium/devtools/v88/memory.rb +88 -0
  32. data/lib/selenium/devtools/v88/network.rb +247 -0
  33. data/lib/selenium/devtools/v88/overlay.rb +183 -0
  34. data/lib/selenium/devtools/v88/page.rb +376 -0
  35. data/lib/selenium/devtools/v88/performance.rb +65 -0
  36. data/lib/selenium/devtools/v88/profiler.rb +125 -0
  37. data/lib/selenium/devtools/v88/runtime.rb +197 -0
  38. data/lib/selenium/devtools/v88/schema.rb +48 -0
  39. data/lib/selenium/devtools/v88/security.rb +73 -0
  40. data/lib/selenium/devtools/v88/service_worker.rb +118 -0
  41. data/lib/selenium/devtools/v88/storage.rb +103 -0
  42. data/lib/selenium/devtools/v88/system_info.rb +52 -0
  43. data/lib/selenium/devtools/v88/target.rb +145 -0
  44. data/lib/selenium/devtools/v88/tethering.rb +57 -0
  45. data/lib/selenium/devtools/v88/tracing.rb +79 -0
  46. data/lib/selenium/devtools/v88/web_audio.rb +72 -0
  47. data/lib/selenium/devtools/v88/web_authn.rb +102 -0
  48. data/lib/selenium/devtools/version.rb +24 -0
  49. metadata +99 -0
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module WebDriver
23
+ class DevTools
24
+ def dom_debugger
25
+ @dom_debugger ||= V88::DOMDebugger.new(self)
26
+ end
27
+
28
+ module V88
29
+ class DOMDebugger
30
+
31
+ def initialize(devtools)
32
+ @devtools = devtools
33
+ end
34
+
35
+ def on(event, &block)
36
+ event = EVENTS[event] if event.is_a?(Symbol)
37
+ @devtools.callbacks["DOMDebugger.#{event}"] << block
38
+ end
39
+
40
+ def get_event_listeners(object_id:, depth: nil, pierce: nil)
41
+ @devtools.send_cmd('DOMDebugger.getEventListeners',
42
+ objectId: object_id,
43
+ depth: depth,
44
+ pierce: pierce)
45
+ end
46
+
47
+ def remove_dom_breakpoint(node_id:, type:)
48
+ @devtools.send_cmd('DOMDebugger.removeDOMBreakpoint',
49
+ nodeId: node_id,
50
+ type: type)
51
+ end
52
+
53
+ def remove_event_listener_breakpoint(event_name:, target_name: nil)
54
+ @devtools.send_cmd('DOMDebugger.removeEventListenerBreakpoint',
55
+ eventName: event_name,
56
+ targetName: target_name)
57
+ end
58
+
59
+ def remove_instrumentation_breakpoint(event_name:)
60
+ @devtools.send_cmd('DOMDebugger.removeInstrumentationBreakpoint',
61
+ eventName: event_name)
62
+ end
63
+
64
+ def remove_xhr_breakpoint(url:)
65
+ @devtools.send_cmd('DOMDebugger.removeXHRBreakpoint',
66
+ url: url)
67
+ end
68
+
69
+ def set_dom_breakpoint(node_id:, type:)
70
+ @devtools.send_cmd('DOMDebugger.setDOMBreakpoint',
71
+ nodeId: node_id,
72
+ type: type)
73
+ end
74
+
75
+ def set_event_listener_breakpoint(event_name:, target_name: nil)
76
+ @devtools.send_cmd('DOMDebugger.setEventListenerBreakpoint',
77
+ eventName: event_name,
78
+ targetName: target_name)
79
+ end
80
+
81
+ def set_instrumentation_breakpoint(event_name:)
82
+ @devtools.send_cmd('DOMDebugger.setInstrumentationBreakpoint',
83
+ eventName: event_name)
84
+ end
85
+
86
+ def set_xhr_breakpoint(url:)
87
+ @devtools.send_cmd('DOMDebugger.setXHRBreakpoint',
88
+ url: url)
89
+ end
90
+
91
+ end # V88
92
+ end # DOMDebugger
93
+ end # DevTools
94
+ end # WebDriver
95
+ end # Selenium
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module WebDriver
23
+ class DevTools
24
+ def dom_snapshot
25
+ @dom_snapshot ||= V88::DOMSnapshot.new(self)
26
+ end
27
+
28
+ module V88
29
+ class DOMSnapshot
30
+
31
+ def initialize(devtools)
32
+ @devtools = devtools
33
+ end
34
+
35
+ def on(event, &block)
36
+ event = EVENTS[event] if event.is_a?(Symbol)
37
+ @devtools.callbacks["DOMSnapshot.#{event}"] << block
38
+ end
39
+
40
+ def disable
41
+ @devtools.send_cmd('DOMSnapshot.disable')
42
+ end
43
+
44
+ def enable
45
+ @devtools.send_cmd('DOMSnapshot.enable')
46
+ end
47
+
48
+ def get_snapshot(computed_style_whitelist:, include_event_listeners: nil, include_paint_order: nil, include_user_agent_shadow_tree: nil)
49
+ @devtools.send_cmd('DOMSnapshot.getSnapshot',
50
+ computedStyleWhitelist: computed_style_whitelist,
51
+ includeEventListeners: include_event_listeners,
52
+ includePaintOrder: include_paint_order,
53
+ includeUserAgentShadowTree: include_user_agent_shadow_tree)
54
+ end
55
+
56
+ def capture_snapshot(computed_styles:, include_paint_order: nil, include_dom_rects: nil)
57
+ @devtools.send_cmd('DOMSnapshot.captureSnapshot',
58
+ computedStyles: computed_styles,
59
+ includePaintOrder: include_paint_order,
60
+ includeDOMRects: include_dom_rects)
61
+ end
62
+
63
+ end # V88
64
+ end # DOMSnapshot
65
+ end # DevTools
66
+ end # WebDriver
67
+ end # Selenium
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module WebDriver
23
+ class DevTools
24
+ def dom_storage
25
+ @dom_storage ||= V88::DOMStorage.new(self)
26
+ end
27
+
28
+ module V88
29
+ class DOMStorage
30
+ EVENTS = {
31
+ dom_storage_item_added: 'domStorageItemAdded',
32
+ dom_storage_item_removed: 'domStorageItemRemoved',
33
+ dom_storage_item_updated: 'domStorageItemUpdated',
34
+ dom_storage_items_cleared: 'domStorageItemsCleared',
35
+ }.freeze
36
+
37
+ def initialize(devtools)
38
+ @devtools = devtools
39
+ end
40
+
41
+ def on(event, &block)
42
+ event = EVENTS[event] if event.is_a?(Symbol)
43
+ @devtools.callbacks["DOMStorage.#{event}"] << block
44
+ end
45
+
46
+ def clear(storage_id:)
47
+ @devtools.send_cmd('DOMStorage.clear',
48
+ storageId: storage_id)
49
+ end
50
+
51
+ def disable
52
+ @devtools.send_cmd('DOMStorage.disable')
53
+ end
54
+
55
+ def enable
56
+ @devtools.send_cmd('DOMStorage.enable')
57
+ end
58
+
59
+ def get_dom_storage_items(storage_id:)
60
+ @devtools.send_cmd('DOMStorage.getDOMStorageItems',
61
+ storageId: storage_id)
62
+ end
63
+
64
+ def remove_dom_storage_item(storage_id:, key:)
65
+ @devtools.send_cmd('DOMStorage.removeDOMStorageItem',
66
+ storageId: storage_id,
67
+ key: key)
68
+ end
69
+
70
+ def set_dom_storage_item(storage_id:, key:, value:)
71
+ @devtools.send_cmd('DOMStorage.setDOMStorageItem',
72
+ storageId: storage_id,
73
+ key: key,
74
+ value: value)
75
+ end
76
+
77
+ end # V88
78
+ end # DOMStorage
79
+ end # DevTools
80
+ end # WebDriver
81
+ end # Selenium
@@ -0,0 +1,198 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module WebDriver
23
+ class DevTools
24
+ def emulation
25
+ @emulation ||= V88::Emulation.new(self)
26
+ end
27
+
28
+ module V88
29
+ class Emulation
30
+ EVENTS = {
31
+ virtual_time_budget_expired: 'virtualTimeBudgetExpired',
32
+ }.freeze
33
+
34
+ def initialize(devtools)
35
+ @devtools = devtools
36
+ end
37
+
38
+ def on(event, &block)
39
+ event = EVENTS[event] if event.is_a?(Symbol)
40
+ @devtools.callbacks["Emulation.#{event}"] << block
41
+ end
42
+
43
+ def can_emulate
44
+ @devtools.send_cmd('Emulation.canEmulate')
45
+ end
46
+
47
+ def clear_device_metrics_override
48
+ @devtools.send_cmd('Emulation.clearDeviceMetricsOverride')
49
+ end
50
+
51
+ def clear_geolocation_override
52
+ @devtools.send_cmd('Emulation.clearGeolocationOverride')
53
+ end
54
+
55
+ def reset_page_scale_factor
56
+ @devtools.send_cmd('Emulation.resetPageScaleFactor')
57
+ end
58
+
59
+ def set_focus_emulation_enabled(enabled:)
60
+ @devtools.send_cmd('Emulation.setFocusEmulationEnabled',
61
+ enabled: enabled)
62
+ end
63
+
64
+ def set_cpu_throttling_rate(rate:)
65
+ @devtools.send_cmd('Emulation.setCPUThrottlingRate',
66
+ rate: rate)
67
+ end
68
+
69
+ def set_default_background_color_override(color: nil)
70
+ @devtools.send_cmd('Emulation.setDefaultBackgroundColorOverride',
71
+ color: color)
72
+ end
73
+
74
+ def set_device_metrics_override(width:, height:, device_scale_factor:, mobile:, scale: nil, screen_width: nil, screen_height: nil, position_x: nil, position_y: nil, dont_set_visible_size: nil, screen_orientation: nil, viewport: nil, display_feature: nil)
75
+ @devtools.send_cmd('Emulation.setDeviceMetricsOverride',
76
+ width: width,
77
+ height: height,
78
+ deviceScaleFactor: device_scale_factor,
79
+ mobile: mobile,
80
+ scale: scale,
81
+ screenWidth: screen_width,
82
+ screenHeight: screen_height,
83
+ positionX: position_x,
84
+ positionY: position_y,
85
+ dontSetVisibleSize: dont_set_visible_size,
86
+ screenOrientation: screen_orientation,
87
+ viewport: viewport,
88
+ displayFeature: display_feature)
89
+ end
90
+
91
+ def set_scrollbars_hidden(hidden:)
92
+ @devtools.send_cmd('Emulation.setScrollbarsHidden',
93
+ hidden: hidden)
94
+ end
95
+
96
+ def set_document_cookie_disabled(disabled:)
97
+ @devtools.send_cmd('Emulation.setDocumentCookieDisabled',
98
+ disabled: disabled)
99
+ end
100
+
101
+ def set_emit_touch_events_for_mouse(enabled:, configuration: nil)
102
+ @devtools.send_cmd('Emulation.setEmitTouchEventsForMouse',
103
+ enabled: enabled,
104
+ configuration: configuration)
105
+ end
106
+
107
+ def set_emulated_media(media: nil, features: nil)
108
+ @devtools.send_cmd('Emulation.setEmulatedMedia',
109
+ media: media,
110
+ features: features)
111
+ end
112
+
113
+ def set_emulated_vision_deficiency(type:)
114
+ @devtools.send_cmd('Emulation.setEmulatedVisionDeficiency',
115
+ type: type)
116
+ end
117
+
118
+ def set_geolocation_override(latitude: nil, longitude: nil, accuracy: nil)
119
+ @devtools.send_cmd('Emulation.setGeolocationOverride',
120
+ latitude: latitude,
121
+ longitude: longitude,
122
+ accuracy: accuracy)
123
+ end
124
+
125
+ def set_idle_override(is_user_active:, is_screen_unlocked:)
126
+ @devtools.send_cmd('Emulation.setIdleOverride',
127
+ isUserActive: is_user_active,
128
+ isScreenUnlocked: is_screen_unlocked)
129
+ end
130
+
131
+ def clear_idle_override
132
+ @devtools.send_cmd('Emulation.clearIdleOverride')
133
+ end
134
+
135
+ def set_navigator_overrides(platform:)
136
+ @devtools.send_cmd('Emulation.setNavigatorOverrides',
137
+ platform: platform)
138
+ end
139
+
140
+ def set_page_scale_factor(page_scale_factor:)
141
+ @devtools.send_cmd('Emulation.setPageScaleFactor',
142
+ pageScaleFactor: page_scale_factor)
143
+ end
144
+
145
+ def set_script_execution_disabled(value:)
146
+ @devtools.send_cmd('Emulation.setScriptExecutionDisabled',
147
+ value: value)
148
+ end
149
+
150
+ def set_touch_emulation_enabled(enabled:, max_touch_points: nil)
151
+ @devtools.send_cmd('Emulation.setTouchEmulationEnabled',
152
+ enabled: enabled,
153
+ maxTouchPoints: max_touch_points)
154
+ end
155
+
156
+ def set_virtual_time_policy(policy:, budget: nil, max_virtual_time_task_starvation_count: nil, wait_for_navigation: nil, initial_virtual_time: nil)
157
+ @devtools.send_cmd('Emulation.setVirtualTimePolicy',
158
+ policy: policy,
159
+ budget: budget,
160
+ maxVirtualTimeTaskStarvationCount: max_virtual_time_task_starvation_count,
161
+ waitForNavigation: wait_for_navigation,
162
+ initialVirtualTime: initial_virtual_time)
163
+ end
164
+
165
+ def set_locale_override(locale: nil)
166
+ @devtools.send_cmd('Emulation.setLocaleOverride',
167
+ locale: locale)
168
+ end
169
+
170
+ def set_timezone_override(timezone_id:)
171
+ @devtools.send_cmd('Emulation.setTimezoneOverride',
172
+ timezoneId: timezone_id)
173
+ end
174
+
175
+ def set_visible_size(width:, height:)
176
+ @devtools.send_cmd('Emulation.setVisibleSize',
177
+ width: width,
178
+ height: height)
179
+ end
180
+
181
+ def set_disabled_image_types(image_types:)
182
+ @devtools.send_cmd('Emulation.setDisabledImageTypes',
183
+ imageTypes: image_types)
184
+ end
185
+
186
+ def set_user_agent_override(user_agent:, accept_language: nil, platform: nil, user_agent_metadata: nil)
187
+ @devtools.send_cmd('Emulation.setUserAgentOverride',
188
+ userAgent: user_agent,
189
+ acceptLanguage: accept_language,
190
+ platform: platform,
191
+ userAgentMetadata: user_agent_metadata)
192
+ end
193
+
194
+ end # V88
195
+ end # Emulation
196
+ end # DevTools
197
+ end # WebDriver
198
+ end # Selenium
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module WebDriver
23
+ class DevTools
24
+ def fetch
25
+ @fetch ||= V88::Fetch.new(self)
26
+ end
27
+
28
+ module V88
29
+ class Fetch
30
+ EVENTS = {
31
+ request_paused: 'requestPaused',
32
+ auth_required: 'authRequired',
33
+ }.freeze
34
+
35
+ def initialize(devtools)
36
+ @devtools = devtools
37
+ end
38
+
39
+ def on(event, &block)
40
+ event = EVENTS[event] if event.is_a?(Symbol)
41
+ @devtools.callbacks["Fetch.#{event}"] << block
42
+ end
43
+
44
+ def disable
45
+ @devtools.send_cmd('Fetch.disable')
46
+ end
47
+
48
+ def enable(patterns: nil, handle_auth_requests: nil)
49
+ @devtools.send_cmd('Fetch.enable',
50
+ patterns: patterns,
51
+ handleAuthRequests: handle_auth_requests)
52
+ end
53
+
54
+ def fail_request(request_id:, error_reason:)
55
+ @devtools.send_cmd('Fetch.failRequest',
56
+ requestId: request_id,
57
+ errorReason: error_reason)
58
+ end
59
+
60
+ def fulfill_request(request_id:, response_code:, response_headers: nil, binary_response_headers: nil, body: nil, response_phrase: nil)
61
+ @devtools.send_cmd('Fetch.fulfillRequest',
62
+ requestId: request_id,
63
+ responseCode: response_code,
64
+ responseHeaders: response_headers,
65
+ binaryResponseHeaders: binary_response_headers,
66
+ body: body,
67
+ responsePhrase: response_phrase)
68
+ end
69
+
70
+ def continue_request(request_id:, url: nil, method: nil, post_data: nil, headers: nil)
71
+ @devtools.send_cmd('Fetch.continueRequest',
72
+ requestId: request_id,
73
+ url: url,
74
+ method: method,
75
+ postData: post_data,
76
+ headers: headers)
77
+ end
78
+
79
+ def continue_with_auth(request_id:, auth_challenge_response:)
80
+ @devtools.send_cmd('Fetch.continueWithAuth',
81
+ requestId: request_id,
82
+ authChallengeResponse: auth_challenge_response)
83
+ end
84
+
85
+ def get_response_body(request_id:)
86
+ @devtools.send_cmd('Fetch.getResponseBody',
87
+ requestId: request_id)
88
+ end
89
+
90
+ def take_response_body_as_stream(request_id:)
91
+ @devtools.send_cmd('Fetch.takeResponseBodyAsStream',
92
+ requestId: request_id)
93
+ end
94
+
95
+ end # V88
96
+ end # Fetch
97
+ end # DevTools
98
+ end # WebDriver
99
+ end # Selenium