selenium-devtools 0.98.0 → 0.100.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/lib/selenium/devtools/v100/accessibility.rb +92 -0
  3. data/lib/selenium/devtools/v100/animation.rb +94 -0
  4. data/lib/selenium/devtools/v100/audits.rb +62 -0
  5. data/lib/selenium/devtools/v100/background_service.rb +63 -0
  6. data/lib/selenium/devtools/v100/browser.rb +135 -0
  7. data/lib/selenium/devtools/v100/cache_storage.rb +69 -0
  8. data/lib/selenium/devtools/v100/cast.rb +71 -0
  9. data/lib/selenium/devtools/v100/console.rb +53 -0
  10. data/lib/selenium/devtools/v100/css.rb +189 -0
  11. data/lib/selenium/devtools/v100/database.rb +60 -0
  12. data/lib/selenium/devtools/v100/debugger.rb +220 -0
  13. data/lib/selenium/devtools/v100/device_orientation.rb +49 -0
  14. data/lib/selenium/devtools/v100/dom.rb +335 -0
  15. data/lib/selenium/devtools/v100/dom_debugger.rb +94 -0
  16. data/lib/selenium/devtools/v100/dom_snapshot.rb +63 -0
  17. data/lib/selenium/devtools/v100/dom_storage.rb +75 -0
  18. data/lib/selenium/devtools/v100/emulation.rb +196 -0
  19. data/lib/selenium/devtools/v100/event_breakpoints.rb +48 -0
  20. data/lib/selenium/devtools/v100/fetch.rb +103 -0
  21. data/lib/selenium/devtools/v100/headless_experimental.rb +57 -0
  22. data/lib/selenium/devtools/v100/heap_profiler.rb +105 -0
  23. data/lib/selenium/devtools/v100/indexed_db.rb +96 -0
  24. data/lib/selenium/devtools/v100/input.rb +168 -0
  25. data/lib/selenium/devtools/v100/inspector.rb +51 -0
  26. data/lib/selenium/devtools/v100/io.rb +55 -0
  27. data/lib/selenium/devtools/v100/layer_tree.rb +91 -0
  28. data/lib/selenium/devtools/v100/log.rb +62 -0
  29. data/lib/selenium/devtools/v100/media.rb +53 -0
  30. data/lib/selenium/devtools/v100/memory.rb +82 -0
  31. data/lib/selenium/devtools/v100/network.rb +264 -0
  32. data/lib/selenium/devtools/v100/overlay.rb +202 -0
  33. data/lib/selenium/devtools/v100/page.rb +394 -0
  34. data/lib/selenium/devtools/v100/performance.rb +59 -0
  35. data/lib/selenium/devtools/v100/performance_timeline.rb +46 -0
  36. data/lib/selenium/devtools/v100/profiler.rb +95 -0
  37. data/lib/selenium/devtools/v100/runtime.rb +199 -0
  38. data/lib/selenium/devtools/v100/schema.rb +42 -0
  39. data/lib/selenium/devtools/v100/security.rb +67 -0
  40. data/lib/selenium/devtools/v100/service_worker.rb +112 -0
  41. data/lib/selenium/devtools/v100/storage.rb +118 -0
  42. data/lib/selenium/devtools/v100/system_info.rb +46 -0
  43. data/lib/selenium/devtools/v100/target.rb +146 -0
  44. data/lib/selenium/devtools/v100/tethering.rb +51 -0
  45. data/lib/selenium/devtools/v100/tracing.rb +75 -0
  46. data/lib/selenium/devtools/v100/web_audio.rb +66 -0
  47. data/lib/selenium/devtools/v100/web_authn.rb +96 -0
  48. data/lib/selenium/devtools/v100.rb +1 -0
  49. data/lib/selenium/devtools/v99/accessibility.rb +92 -0
  50. data/lib/selenium/devtools/v99/animation.rb +94 -0
  51. data/lib/selenium/devtools/v99/audits.rb +62 -0
  52. data/lib/selenium/devtools/v99/background_service.rb +63 -0
  53. data/lib/selenium/devtools/v99/browser.rb +135 -0
  54. data/lib/selenium/devtools/v99/cache_storage.rb +69 -0
  55. data/lib/selenium/devtools/v99/cast.rb +71 -0
  56. data/lib/selenium/devtools/v99/console.rb +53 -0
  57. data/lib/selenium/devtools/v99/css.rb +182 -0
  58. data/lib/selenium/devtools/v99/database.rb +60 -0
  59. data/lib/selenium/devtools/v99/debugger.rb +220 -0
  60. data/lib/selenium/devtools/v99/device_orientation.rb +49 -0
  61. data/lib/selenium/devtools/v99/dom.rb +334 -0
  62. data/lib/selenium/devtools/v99/dom_debugger.rb +94 -0
  63. data/lib/selenium/devtools/v99/dom_snapshot.rb +63 -0
  64. data/lib/selenium/devtools/v99/dom_storage.rb +75 -0
  65. data/lib/selenium/devtools/v99/emulation.rb +197 -0
  66. data/lib/selenium/devtools/v99/event_breakpoints.rb +48 -0
  67. data/lib/selenium/devtools/v99/fetch.rb +103 -0
  68. data/lib/selenium/devtools/v99/headless_experimental.rb +57 -0
  69. data/lib/selenium/devtools/v99/heap_profiler.rb +105 -0
  70. data/lib/selenium/devtools/v99/indexed_db.rb +96 -0
  71. data/lib/selenium/devtools/v99/input.rb +168 -0
  72. data/lib/selenium/devtools/v99/inspector.rb +51 -0
  73. data/lib/selenium/devtools/v99/io.rb +55 -0
  74. data/lib/selenium/devtools/v99/layer_tree.rb +91 -0
  75. data/lib/selenium/devtools/v99/log.rb +62 -0
  76. data/lib/selenium/devtools/v99/media.rb +53 -0
  77. data/lib/selenium/devtools/v99/memory.rb +82 -0
  78. data/lib/selenium/devtools/v99/network.rb +264 -0
  79. data/lib/selenium/devtools/v99/overlay.rb +202 -0
  80. data/lib/selenium/devtools/v99/page.rb +394 -0
  81. data/lib/selenium/devtools/v99/performance.rb +59 -0
  82. data/lib/selenium/devtools/v99/performance_timeline.rb +46 -0
  83. data/lib/selenium/devtools/v99/profiler.rb +95 -0
  84. data/lib/selenium/devtools/v99/runtime.rb +199 -0
  85. data/lib/selenium/devtools/v99/schema.rb +42 -0
  86. data/lib/selenium/devtools/v99/security.rb +67 -0
  87. data/lib/selenium/devtools/v99/service_worker.rb +112 -0
  88. data/lib/selenium/devtools/v99/storage.rb +118 -0
  89. data/lib/selenium/devtools/v99/system_info.rb +46 -0
  90. data/lib/selenium/devtools/v99/target.rb +146 -0
  91. data/lib/selenium/devtools/v99/tethering.rb +51 -0
  92. data/lib/selenium/devtools/v99/tracing.rb +75 -0
  93. data/lib/selenium/devtools/v99/web_audio.rb +66 -0
  94. data/lib/selenium/devtools/v99/web_authn.rb +96 -0
  95. data/lib/selenium/devtools/v99.rb +1 -0
  96. data/lib/selenium/devtools/version.rb +1 -1
  97. metadata +96 -2
@@ -0,0 +1,63 @@
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 DevTools
23
+ module V99
24
+ class DOMSnapshot
25
+
26
+ def initialize(devtools)
27
+ @devtools = devtools
28
+ end
29
+
30
+ def on(event, &block)
31
+ event = EVENTS[event] if event.is_a?(Symbol)
32
+ @devtools.callbacks["DOMSnapshot.#{event}"] << block
33
+ end
34
+
35
+ def disable
36
+ @devtools.send_cmd('DOMSnapshot.disable')
37
+ end
38
+
39
+ def enable
40
+ @devtools.send_cmd('DOMSnapshot.enable')
41
+ end
42
+
43
+ def get_snapshot(computed_style_whitelist:, include_event_listeners: nil, include_paint_order: nil, include_user_agent_shadow_tree: nil)
44
+ @devtools.send_cmd('DOMSnapshot.getSnapshot',
45
+ computedStyleWhitelist: computed_style_whitelist,
46
+ includeEventListeners: include_event_listeners,
47
+ includePaintOrder: include_paint_order,
48
+ includeUserAgentShadowTree: include_user_agent_shadow_tree)
49
+ end
50
+
51
+ def capture_snapshot(computed_styles:, include_paint_order: nil, include_dom_rects: nil, include_blended_background_colors: nil, include_text_color_opacities: nil)
52
+ @devtools.send_cmd('DOMSnapshot.captureSnapshot',
53
+ computedStyles: computed_styles,
54
+ includePaintOrder: include_paint_order,
55
+ includeDOMRects: include_dom_rects,
56
+ includeBlendedBackgroundColors: include_blended_background_colors,
57
+ includeTextColorOpacities: include_text_color_opacities)
58
+ end
59
+
60
+ end # DOMSnapshot
61
+ end # V99
62
+ end # DevTools
63
+ end # Selenium
@@ -0,0 +1,75 @@
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 DevTools
23
+ module V99
24
+ class DOMStorage
25
+ EVENTS = {
26
+ dom_storage_item_added: 'domStorageItemAdded',
27
+ dom_storage_item_removed: 'domStorageItemRemoved',
28
+ dom_storage_item_updated: 'domStorageItemUpdated',
29
+ dom_storage_items_cleared: 'domStorageItemsCleared',
30
+ }.freeze
31
+
32
+ def initialize(devtools)
33
+ @devtools = devtools
34
+ end
35
+
36
+ def on(event, &block)
37
+ event = EVENTS[event] if event.is_a?(Symbol)
38
+ @devtools.callbacks["DOMStorage.#{event}"] << block
39
+ end
40
+
41
+ def clear(storage_id:)
42
+ @devtools.send_cmd('DOMStorage.clear',
43
+ storageId: storage_id)
44
+ end
45
+
46
+ def disable
47
+ @devtools.send_cmd('DOMStorage.disable')
48
+ end
49
+
50
+ def enable
51
+ @devtools.send_cmd('DOMStorage.enable')
52
+ end
53
+
54
+ def get_dom_storage_items(storage_id:)
55
+ @devtools.send_cmd('DOMStorage.getDOMStorageItems',
56
+ storageId: storage_id)
57
+ end
58
+
59
+ def remove_dom_storage_item(storage_id:, key:)
60
+ @devtools.send_cmd('DOMStorage.removeDOMStorageItem',
61
+ storageId: storage_id,
62
+ key: key)
63
+ end
64
+
65
+ def set_dom_storage_item(storage_id:, key:, value:)
66
+ @devtools.send_cmd('DOMStorage.setDOMStorageItem',
67
+ storageId: storage_id,
68
+ key: key,
69
+ value: value)
70
+ end
71
+
72
+ end # DOMStorage
73
+ end # V99
74
+ end # DevTools
75
+ end # Selenium
@@ -0,0 +1,197 @@
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 DevTools
23
+ module V99
24
+ class Emulation
25
+ EVENTS = {
26
+ virtual_time_budget_expired: 'virtualTimeBudgetExpired',
27
+ }.freeze
28
+
29
+ def initialize(devtools)
30
+ @devtools = devtools
31
+ end
32
+
33
+ def on(event, &block)
34
+ event = EVENTS[event] if event.is_a?(Symbol)
35
+ @devtools.callbacks["Emulation.#{event}"] << block
36
+ end
37
+
38
+ def can_emulate
39
+ @devtools.send_cmd('Emulation.canEmulate')
40
+ end
41
+
42
+ def clear_device_metrics_override
43
+ @devtools.send_cmd('Emulation.clearDeviceMetricsOverride')
44
+ end
45
+
46
+ def clear_geolocation_override
47
+ @devtools.send_cmd('Emulation.clearGeolocationOverride')
48
+ end
49
+
50
+ def reset_page_scale_factor
51
+ @devtools.send_cmd('Emulation.resetPageScaleFactor')
52
+ end
53
+
54
+ def set_focus_emulation_enabled(enabled:)
55
+ @devtools.send_cmd('Emulation.setFocusEmulationEnabled',
56
+ enabled: enabled)
57
+ end
58
+
59
+ def set_auto_dark_mode_override(enabled: nil)
60
+ @devtools.send_cmd('Emulation.setAutoDarkModeOverride',
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 # Emulation
195
+ end # V99
196
+ end # DevTools
197
+ end # Selenium
@@ -0,0 +1,48 @@
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 DevTools
23
+ module V99
24
+ class EventBreakpoints
25
+
26
+ def initialize(devtools)
27
+ @devtools = devtools
28
+ end
29
+
30
+ def on(event, &block)
31
+ event = EVENTS[event] if event.is_a?(Symbol)
32
+ @devtools.callbacks["EventBreakpoints.#{event}"] << block
33
+ end
34
+
35
+ def set_instrumentation_breakpoint(event_name:)
36
+ @devtools.send_cmd('EventBreakpoints.setInstrumentationBreakpoint',
37
+ eventName: event_name)
38
+ end
39
+
40
+ def remove_instrumentation_breakpoint(event_name:)
41
+ @devtools.send_cmd('EventBreakpoints.removeInstrumentationBreakpoint',
42
+ eventName: event_name)
43
+ end
44
+
45
+ end # EventBreakpoints
46
+ end # V99
47
+ end # DevTools
48
+ end # Selenium
@@ -0,0 +1,103 @@
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 DevTools
23
+ module V99
24
+ class Fetch
25
+ EVENTS = {
26
+ request_paused: 'requestPaused',
27
+ auth_required: 'authRequired',
28
+ }.freeze
29
+
30
+ def initialize(devtools)
31
+ @devtools = devtools
32
+ end
33
+
34
+ def on(event, &block)
35
+ event = EVENTS[event] if event.is_a?(Symbol)
36
+ @devtools.callbacks["Fetch.#{event}"] << block
37
+ end
38
+
39
+ def disable
40
+ @devtools.send_cmd('Fetch.disable')
41
+ end
42
+
43
+ def enable(patterns: nil, handle_auth_requests: nil)
44
+ @devtools.send_cmd('Fetch.enable',
45
+ patterns: patterns,
46
+ handleAuthRequests: handle_auth_requests)
47
+ end
48
+
49
+ def fail_request(request_id:, error_reason:)
50
+ @devtools.send_cmd('Fetch.failRequest',
51
+ requestId: request_id,
52
+ errorReason: error_reason)
53
+ end
54
+
55
+ def fulfill_request(request_id:, response_code:, response_headers: nil, binary_response_headers: nil, body: nil, response_phrase: nil)
56
+ @devtools.send_cmd('Fetch.fulfillRequest',
57
+ requestId: request_id,
58
+ responseCode: response_code,
59
+ responseHeaders: response_headers,
60
+ binaryResponseHeaders: binary_response_headers,
61
+ body: body,
62
+ responsePhrase: response_phrase)
63
+ end
64
+
65
+ def continue_request(request_id:, url: nil, method: nil, post_data: nil, headers: nil, intercept_response: nil)
66
+ @devtools.send_cmd('Fetch.continueRequest',
67
+ requestId: request_id,
68
+ url: url,
69
+ method: method,
70
+ postData: post_data,
71
+ headers: headers,
72
+ interceptResponse: intercept_response)
73
+ end
74
+
75
+ def continue_with_auth(request_id:, auth_challenge_response:)
76
+ @devtools.send_cmd('Fetch.continueWithAuth',
77
+ requestId: request_id,
78
+ authChallengeResponse: auth_challenge_response)
79
+ end
80
+
81
+ def continue_response(request_id:, response_code: nil, response_phrase: nil, response_headers: nil, binary_response_headers: nil)
82
+ @devtools.send_cmd('Fetch.continueResponse',
83
+ requestId: request_id,
84
+ responseCode: response_code,
85
+ responsePhrase: response_phrase,
86
+ responseHeaders: response_headers,
87
+ binaryResponseHeaders: binary_response_headers)
88
+ end
89
+
90
+ def get_response_body(request_id:)
91
+ @devtools.send_cmd('Fetch.getResponseBody',
92
+ requestId: request_id)
93
+ end
94
+
95
+ def take_response_body_as_stream(request_id:)
96
+ @devtools.send_cmd('Fetch.takeResponseBodyAsStream',
97
+ requestId: request_id)
98
+ end
99
+
100
+ end # Fetch
101
+ end # V99
102
+ end # DevTools
103
+ end # Selenium
@@ -0,0 +1,57 @@
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 DevTools
23
+ module V99
24
+ class HeadlessExperimental
25
+ EVENTS = {
26
+ needs_begin_frames_changed: 'needsBeginFramesChanged',
27
+ }.freeze
28
+
29
+ def initialize(devtools)
30
+ @devtools = devtools
31
+ end
32
+
33
+ def on(event, &block)
34
+ event = EVENTS[event] if event.is_a?(Symbol)
35
+ @devtools.callbacks["HeadlessExperimental.#{event}"] << block
36
+ end
37
+
38
+ def begin_frame(frame_time_ticks: nil, interval: nil, no_display_updates: nil, screenshot: nil)
39
+ @devtools.send_cmd('HeadlessExperimental.beginFrame',
40
+ frameTimeTicks: frame_time_ticks,
41
+ interval: interval,
42
+ noDisplayUpdates: no_display_updates,
43
+ screenshot: screenshot)
44
+ end
45
+
46
+ def disable
47
+ @devtools.send_cmd('HeadlessExperimental.disable')
48
+ end
49
+
50
+ def enable
51
+ @devtools.send_cmd('HeadlessExperimental.enable')
52
+ end
53
+
54
+ end # HeadlessExperimental
55
+ end # V99
56
+ end # DevTools
57
+ end # Selenium
@@ -0,0 +1,105 @@
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 DevTools
23
+ module V99
24
+ class HeapProfiler
25
+ EVENTS = {
26
+ add_heap_snapshot_chunk: 'addHeapSnapshotChunk',
27
+ heap_stats_update: 'heapStatsUpdate',
28
+ last_seen_object_id: 'lastSeenObjectId',
29
+ report_heap_snapshot_progress: 'reportHeapSnapshotProgress',
30
+ reset_profiles: 'resetProfiles',
31
+ }.freeze
32
+
33
+ def initialize(devtools)
34
+ @devtools = devtools
35
+ end
36
+
37
+ def on(event, &block)
38
+ event = EVENTS[event] if event.is_a?(Symbol)
39
+ @devtools.callbacks["HeapProfiler.#{event}"] << block
40
+ end
41
+
42
+ def add_inspected_heap_object(heap_object_id:)
43
+ @devtools.send_cmd('HeapProfiler.addInspectedHeapObject',
44
+ heapObjectId: heap_object_id)
45
+ end
46
+
47
+ def collect_garbage
48
+ @devtools.send_cmd('HeapProfiler.collectGarbage')
49
+ end
50
+
51
+ def disable
52
+ @devtools.send_cmd('HeapProfiler.disable')
53
+ end
54
+
55
+ def enable
56
+ @devtools.send_cmd('HeapProfiler.enable')
57
+ end
58
+
59
+ def get_heap_object_id(object_id:)
60
+ @devtools.send_cmd('HeapProfiler.getHeapObjectId',
61
+ objectId: object_id)
62
+ end
63
+
64
+ def get_object_by_heap_object_id(object_id:, object_group: nil)
65
+ @devtools.send_cmd('HeapProfiler.getObjectByHeapObjectId',
66
+ objectId: object_id,
67
+ objectGroup: object_group)
68
+ end
69
+
70
+ def get_sampling_profile
71
+ @devtools.send_cmd('HeapProfiler.getSamplingProfile')
72
+ end
73
+
74
+ def start_sampling(sampling_interval: nil)
75
+ @devtools.send_cmd('HeapProfiler.startSampling',
76
+ samplingInterval: sampling_interval)
77
+ end
78
+
79
+ def start_tracking_heap_objects(track_allocations: nil)
80
+ @devtools.send_cmd('HeapProfiler.startTrackingHeapObjects',
81
+ trackAllocations: track_allocations)
82
+ end
83
+
84
+ def stop_sampling
85
+ @devtools.send_cmd('HeapProfiler.stopSampling')
86
+ end
87
+
88
+ def stop_tracking_heap_objects(report_progress: nil, treat_global_objects_as_roots: nil, capture_numeric_value: nil)
89
+ @devtools.send_cmd('HeapProfiler.stopTrackingHeapObjects',
90
+ reportProgress: report_progress,
91
+ treatGlobalObjectsAsRoots: treat_global_objects_as_roots,
92
+ captureNumericValue: capture_numeric_value)
93
+ end
94
+
95
+ def take_heap_snapshot(report_progress: nil, treat_global_objects_as_roots: nil, capture_numeric_value: nil)
96
+ @devtools.send_cmd('HeapProfiler.takeHeapSnapshot',
97
+ reportProgress: report_progress,
98
+ treatGlobalObjectsAsRoots: treat_global_objects_as_roots,
99
+ captureNumericValue: capture_numeric_value)
100
+ end
101
+
102
+ end # HeapProfiler
103
+ end # V99
104
+ end # DevTools
105
+ end # Selenium