Class: Selenium::DevTools::V151::Debugger

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/devtools/v151/debugger.rb

Constant Summary collapse

EVENTS =
{
  breakpoint_resolved: 'breakpointResolved',
  paused: 'paused',
  resumed: 'resumed',
  script_failed_to_parse: 'scriptFailedToParse',
  script_parsed: 'scriptParsed',
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(devtools) ⇒ Debugger

Returns a new instance of Debugger.



34
35
36
# File 'lib/selenium/devtools/v151/debugger.rb', line 34

def initialize(devtools)
  @devtools = devtools
end

Instance Method Details

#continue_to_location(location:, target_call_frames: nil) ⇒ Object



43
44
45
46
47
# File 'lib/selenium/devtools/v151/debugger.rb', line 43

def continue_to_location(location:, target_call_frames: nil)
  @devtools.send_cmd('Debugger.continueToLocation',
                     location: location,
                     targetCallFrames: target_call_frames)
end

#disableObject



49
50
51
# File 'lib/selenium/devtools/v151/debugger.rb', line 49

def disable
  @devtools.send_cmd('Debugger.disable')
end

#disassemble_wasm_module(script_id:) ⇒ Object



83
84
85
86
# File 'lib/selenium/devtools/v151/debugger.rb', line 83

def disassemble_wasm_module(script_id:)
  @devtools.send_cmd('Debugger.disassembleWasmModule',
                     scriptId: script_id)
end

#enable(max_scripts_cache_size: nil) ⇒ Object



53
54
55
56
# File 'lib/selenium/devtools/v151/debugger.rb', line 53

def enable(max_scripts_cache_size: nil)
  @devtools.send_cmd('Debugger.enable',
                     maxScriptsCacheSize: max_scripts_cache_size)
end

#evaluate_on_call_frame(call_frame_id:, expression:, object_group: nil, include_command_line_api: nil, silent: nil, return_by_value: nil, generate_preview: nil, throw_on_side_effect: nil, timeout: nil) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/selenium/devtools/v151/debugger.rb', line 58

def evaluate_on_call_frame(call_frame_id:, expression:, object_group: nil, include_command_line_api: nil, silent: nil, return_by_value: nil, generate_preview: nil, throw_on_side_effect: nil, timeout: nil)
  @devtools.send_cmd('Debugger.evaluateOnCallFrame',
                     callFrameId: call_frame_id,
                     expression: expression,
                     objectGroup: object_group,
                     includeCommandLineAPI: include_command_line_api,
                     silent: silent,
                     returnByValue: return_by_value,
                     generatePreview: generate_preview,
                     throwOnSideEffect: throw_on_side_effect,
                     timeout: timeout)
end

#get_possible_breakpoints(start:, _end: nil, restrict_to_function: nil) ⇒ Object



71
72
73
74
75
76
# File 'lib/selenium/devtools/v151/debugger.rb', line 71

def get_possible_breakpoints(start:, _end: nil, restrict_to_function: nil)
  @devtools.send_cmd('Debugger.getPossibleBreakpoints',
                     start: start,
                     end: _end,
                     restrictToFunction: restrict_to_function)
end

#get_script_source(script_id:) ⇒ Object



78
79
80
81
# File 'lib/selenium/devtools/v151/debugger.rb', line 78

def get_script_source(script_id:)
  @devtools.send_cmd('Debugger.getScriptSource',
                     scriptId: script_id)
end

#get_stack_trace(stack_trace_id:) ⇒ Object



98
99
100
101
# File 'lib/selenium/devtools/v151/debugger.rb', line 98

def get_stack_trace(stack_trace_id:)
  @devtools.send_cmd('Debugger.getStackTrace',
                     stackTraceId: stack_trace_id)
end

#get_wasm_bytecode(script_id:) ⇒ Object



93
94
95
96
# File 'lib/selenium/devtools/v151/debugger.rb', line 93

def get_wasm_bytecode(script_id:)
  @devtools.send_cmd('Debugger.getWasmBytecode',
                     scriptId: script_id)
end

#next_wasm_disassembly_chunk(stream_id:) ⇒ Object



88
89
90
91
# File 'lib/selenium/devtools/v151/debugger.rb', line 88

def next_wasm_disassembly_chunk(stream_id:)
  @devtools.send_cmd('Debugger.nextWasmDisassemblyChunk',
                     streamId: stream_id)
end

#on(event, &block) ⇒ Object



38
39
40
41
# File 'lib/selenium/devtools/v151/debugger.rb', line 38

def on(event, &block)
  event = EVENTS[event] if event.is_a?(Symbol)
  @devtools.callbacks["Debugger.#{event}"] << block
end

#pauseObject



103
104
105
# File 'lib/selenium/devtools/v151/debugger.rb', line 103

def pause
  @devtools.send_cmd('Debugger.pause')
end

#pause_on_async_call(parent_stack_trace_id:) ⇒ Object



107
108
109
110
# File 'lib/selenium/devtools/v151/debugger.rb', line 107

def pause_on_async_call(parent_stack_trace_id:)
  @devtools.send_cmd('Debugger.pauseOnAsyncCall',
                     parentStackTraceId: parent_stack_trace_id)
end

#remove_breakpoint(breakpoint_id:) ⇒ Object



112
113
114
115
# File 'lib/selenium/devtools/v151/debugger.rb', line 112

def remove_breakpoint(breakpoint_id:)
  @devtools.send_cmd('Debugger.removeBreakpoint',
                     breakpointId: breakpoint_id)
end

#restart_frame(call_frame_id:, mode: nil) ⇒ Object



117
118
119
120
121
# File 'lib/selenium/devtools/v151/debugger.rb', line 117

def restart_frame(call_frame_id:, mode: nil)
  @devtools.send_cmd('Debugger.restartFrame',
                     callFrameId: call_frame_id,
                     mode: mode)
end

#resume(terminate_on_resume: nil) ⇒ Object



123
124
125
126
# File 'lib/selenium/devtools/v151/debugger.rb', line 123

def resume(terminate_on_resume: nil)
  @devtools.send_cmd('Debugger.resume',
                     terminateOnResume: terminate_on_resume)
end

#search_in_content(script_id:, query:, case_sensitive: nil, is_regex: nil) ⇒ Object



128
129
130
131
132
133
134
# File 'lib/selenium/devtools/v151/debugger.rb', line 128

def search_in_content(script_id:, query:, case_sensitive: nil, is_regex: nil)
  @devtools.send_cmd('Debugger.searchInContent',
                     scriptId: script_id,
                     query: query,
                     caseSensitive: case_sensitive,
                     isRegex: is_regex)
end

#set_async_call_stack_depth(max_depth:) ⇒ Object



136
137
138
139
# File 'lib/selenium/devtools/v151/debugger.rb', line 136

def set_async_call_stack_depth(max_depth:)
  @devtools.send_cmd('Debugger.setAsyncCallStackDepth',
                     maxDepth: max_depth)
end

#set_blackbox_execution_contexts(unique_ids:) ⇒ Object



141
142
143
144
# File 'lib/selenium/devtools/v151/debugger.rb', line 141

def set_blackbox_execution_contexts(unique_ids:)
  @devtools.send_cmd('Debugger.setBlackboxExecutionContexts',
                     uniqueIds: unique_ids)
end

#set_blackbox_patterns(patterns:, skip_anonymous: nil) ⇒ Object



146
147
148
149
150
# File 'lib/selenium/devtools/v151/debugger.rb', line 146

def set_blackbox_patterns(patterns:, skip_anonymous: nil)
  @devtools.send_cmd('Debugger.setBlackboxPatterns',
                     patterns: patterns,
                     skipAnonymous: skip_anonymous)
end

#set_blackboxed_ranges(script_id:, positions:) ⇒ Object



152
153
154
155
156
# File 'lib/selenium/devtools/v151/debugger.rb', line 152

def set_blackboxed_ranges(script_id:, positions:)
  @devtools.send_cmd('Debugger.setBlackboxedRanges',
                     scriptId: script_id,
                     positions: positions)
end

#set_breakpoint(location:, condition: nil) ⇒ Object



158
159
160
161
162
# File 'lib/selenium/devtools/v151/debugger.rb', line 158

def set_breakpoint(location:, condition: nil)
  @devtools.send_cmd('Debugger.setBreakpoint',
                     location: location,
                     condition: condition)
end

#set_breakpoint_by_url(line_number:, url: nil, url_regex: nil, script_hash: nil, column_number: nil, condition: nil) ⇒ Object



169
170
171
172
173
174
175
176
177
# File 'lib/selenium/devtools/v151/debugger.rb', line 169

def set_breakpoint_by_url(line_number:, url: nil, url_regex: nil, script_hash: nil, column_number: nil, condition: nil)
  @devtools.send_cmd('Debugger.setBreakpointByUrl',
                     lineNumber: line_number,
                     url: url,
                     urlRegex: url_regex,
                     scriptHash: script_hash,
                     columnNumber: column_number,
                     condition: condition)
end

#set_breakpoint_on_function_call(object_id:, condition: nil) ⇒ Object



179
180
181
182
183
# File 'lib/selenium/devtools/v151/debugger.rb', line 179

def set_breakpoint_on_function_call(object_id:, condition: nil)
  @devtools.send_cmd('Debugger.setBreakpointOnFunctionCall',
                     objectId: object_id,
                     condition: condition)
end

#set_breakpoints_active(active:) ⇒ Object



185
186
187
188
# File 'lib/selenium/devtools/v151/debugger.rb', line 185

def set_breakpoints_active(active:)
  @devtools.send_cmd('Debugger.setBreakpointsActive',
                     active: active)
end

#set_instrumentation_breakpoint(instrumentation:) ⇒ Object



164
165
166
167
# File 'lib/selenium/devtools/v151/debugger.rb', line 164

def set_instrumentation_breakpoint(instrumentation:)
  @devtools.send_cmd('Debugger.setInstrumentationBreakpoint',
                     instrumentation: instrumentation)
end

#set_pause_on_exceptions(state:) ⇒ Object



190
191
192
193
# File 'lib/selenium/devtools/v151/debugger.rb', line 190

def set_pause_on_exceptions(state:)
  @devtools.send_cmd('Debugger.setPauseOnExceptions',
                     state: state)
end

#set_return_value(new_value:) ⇒ Object



195
196
197
198
# File 'lib/selenium/devtools/v151/debugger.rb', line 195

def set_return_value(new_value:)
  @devtools.send_cmd('Debugger.setReturnValue',
                     newValue: new_value)
end

#set_script_source(script_id:, script_source:, dry_run: nil, allow_top_frame_editing: nil) ⇒ Object



200
201
202
203
204
205
206
# File 'lib/selenium/devtools/v151/debugger.rb', line 200

def set_script_source(script_id:, script_source:, dry_run: nil, allow_top_frame_editing: nil)
  @devtools.send_cmd('Debugger.setScriptSource',
                     scriptId: script_id,
                     scriptSource: script_source,
                     dryRun: dry_run,
                     allowTopFrameEditing: allow_top_frame_editing)
end

#set_skip_all_pauses(skip:) ⇒ Object



208
209
210
211
# File 'lib/selenium/devtools/v151/debugger.rb', line 208

def set_skip_all_pauses(skip:)
  @devtools.send_cmd('Debugger.setSkipAllPauses',
                     skip: skip)
end

#set_variable_value(scope_number:, variable_name:, new_value:, call_frame_id:) ⇒ Object



213
214
215
216
217
218
219
# File 'lib/selenium/devtools/v151/debugger.rb', line 213

def set_variable_value(scope_number:, variable_name:, new_value:, call_frame_id:)
  @devtools.send_cmd('Debugger.setVariableValue',
                     scopeNumber: scope_number,
                     variableName: variable_name,
                     newValue: new_value,
                     callFrameId: call_frame_id)
end

#step_into(break_on_async_call: nil, skip_list: nil) ⇒ Object



221
222
223
224
225
# File 'lib/selenium/devtools/v151/debugger.rb', line 221

def step_into(break_on_async_call: nil, skip_list: nil)
  @devtools.send_cmd('Debugger.stepInto',
                     breakOnAsyncCall: break_on_async_call,
                     skipList: skip_list)
end

#step_outObject



227
228
229
# File 'lib/selenium/devtools/v151/debugger.rb', line 227

def step_out
  @devtools.send_cmd('Debugger.stepOut')
end

#step_over(skip_list: nil) ⇒ Object



231
232
233
234
# File 'lib/selenium/devtools/v151/debugger.rb', line 231

def step_over(skip_list: nil)
  @devtools.send_cmd('Debugger.stepOver',
                     skipList: skip_list)
end