chromedevtools--chrome-devtools-mcp
8e2380b434
This PR wires up the default DevTools ignore listing to hide frames from third party scripts in stack traces. By default, we ignore: * Scripts with `/node_modules/` in their URL or where the URL starts with `node:/` * Scripts that are marked as ignore listed in the source map * Content scripts from extensions The PR adds both, unit tests and an e2e test. This is because we allow the unit test to pass a mocked ignore checker, where-as the e2e uses the real DevTools one.
135 行
4.7 KiB
Plaintext
135 行
4.7 KiB
Plaintext
exports[`console > get_console_message > applies source maps to stack traces of Error object (with cause) console.log arguments 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: log> foo failed Error: bar failed
|
|
### Arguments
|
|
Arg #0: foo failed
|
|
Arg #1: Error: bar failed
|
|
at foo (main.js:10:11)
|
|
at Iife (main.js:16:5)
|
|
at <anonymous> (main.js:14:1)
|
|
Caused by: Error: b00m!
|
|
at bar (main.js:3:9)
|
|
at foo (main.js:8:5)
|
|
at Iife (main.js:16:5)
|
|
at <anonymous> (main.js:14:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
### Stack trace
|
|
at Iife (main.js:18:13)
|
|
at <anonymous> (main.js:14:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
`;
|
|
|
|
exports[`console > get_console_message > applies source maps to stack traces of Error object console.log arguments 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: log> An error happened: Error: b00m!
|
|
### Arguments
|
|
Arg #0: An error happened:
|
|
Arg #1: Error: b00m!
|
|
at bar (main.js:3:9)
|
|
at foo (main.js:7:3)
|
|
at Iife (main.js:12:5)
|
|
at <anonymous> (main.js:10:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
### Stack trace
|
|
at Iife (main.js:14:13)
|
|
at <anonymous> (main.js:10:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
`;
|
|
|
|
exports[`console > get_console_message > applies source maps to stack traces of console messages 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: warn> hello world
|
|
### Arguments
|
|
Arg #0: hello world
|
|
### Stack trace
|
|
at bar (main.js:3:11)
|
|
at foo (main.js:7:3)
|
|
at Iife (main.js:11:3)
|
|
at <anonymous> (main.js:10:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
`;
|
|
|
|
exports[`console > get_console_message > applies source maps to stack traces of uncaught exceptions 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: error> Uncaught Error: b00m!
|
|
### Stack trace
|
|
at bar (main.js:3:9)
|
|
at foo (main.js:7:3)
|
|
at Iife (main.js:11:3)
|
|
at <anonymous> (main.js:10:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
`;
|
|
|
|
exports[`console > get_console_message > applies source maps to stack traces of uncaught exceptions with cause 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: error> Uncaught Error: foo failed
|
|
### Stack trace
|
|
at Iife (main.js:18:11)
|
|
at <anonymous> (main.js:14:1)
|
|
Caused by: Error: bar failed
|
|
at foo (main.js:10:11)
|
|
at Iife (main.js:16:5)
|
|
at <anonymous> (main.js:14:1)
|
|
Caused by: Error: b00m!
|
|
at bar (main.js:3:9)
|
|
at foo (main.js:8:5)
|
|
at Iife (main.js:16:5)
|
|
at <anonymous> (main.js:14:1)
|
|
Note: line and column numbers use 1-based indexing
|
|
`;
|
|
|
|
exports[`console > get_console_message > ignores frames from ignore listed URLs 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: log> hello from callback
|
|
### Arguments
|
|
Arg #0: hello from callback
|
|
### Stack trace
|
|
at callback ('main.js':3:21)
|
|
at callIt ('main.js':7:13)
|
|
at ('main.js':8:13)
|
|
Note: line and column numbers use 1-based indexing
|
|
`;
|
|
|
|
exports[`console > get_console_message > issues type > gets issue details with node id parsing 1`] = `
|
|
# test response
|
|
ID: 1
|
|
Message: issue> An element doesn't have an autocomplete attribute
|
|
|
|
A form field has an \`id\` or \`name\` attribute that the browser's autofill recognizes. However, it doesn't have an \`autocomplete\` attribute assigned. This might prevent the browser from correctly autofilling the form.
|
|
|
|
To fix this issue, provide an \`autocomplete\` attribute.
|
|
Learn more:
|
|
[HTML attribute: autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values)
|
|
### Affected resources
|
|
uid=1_1 data={"violatingNodeAttribute":"name"}
|
|
`;
|
|
|
|
exports[`console > get_console_message > issues type > gets issue details with request id parsing 1`] = `
|
|
# test response
|
|
ID: <ID>
|
|
Message: issue> Ensure CORS response header values are valid
|
|
|
|
A cross-origin resource sharing (CORS) request was blocked because of invalid or missing response headers of the request or the associated [preflight request](issueCorsPreflightRequest).
|
|
|
|
To fix this issue, ensure the response to the CORS request and/or the associated [preflight request](issueCorsPreflightRequest) are not missing headers and use valid header values.
|
|
|
|
Note that if an opaque response is sufficient, the request's mode can be set to \`no-cors\` to fetch the resource with CORS disabled; that way CORS headers are not required but the response content is inaccessible (opaque).
|
|
Learn more:
|
|
[Cross-Origin Resource Sharing (\`CORS\`)](https://web.dev/cross-origin-resource-sharing)
|
|
### Affected resources
|
|
reqid=<reqid> data={"corsErrorStatus":{"corsError":"PreflightMissingAllowOriginHeader","failedParameter":""},"isWarning":false,"request":{"url":"http://hostname:port/data.json"},"initiatorOrigin":"","clientSecurityState":{"initiatorIsSecureContext":false,"initiatorIPAddressSpace":"Loopback","privateNetworkRequestPolicy":"BlockFromInsecureToMorePrivate"}}
|
|
`;
|
|
|
|
exports[`console > list_console_messages > lists error objects 1`] = `
|
|
# test response
|
|
## Console messages
|
|
Showing 1-1 of 1 (Page 1 of 1).
|
|
msgid=1 [error] Error: This is an error (1 args)
|
|
`;
|