grafana / xk6-browser

The browser module adds support for browser automation and end-to-end web testing via the Chrome Devtools Protocol to k6.
https://grafana.com/docs/k6/latest/javascript-api/k6-browser/
GNU Affero General Public License v3.0
343 stars 42 forks source link

User friendly error messages #1483

Open ankur22 opened 4 days ago

ankur22 commented 4 days ago

As well as improving the logs so that they're more user friendly, we should look to reduce the noise. I believe we should log three types of logs:

  1. console.log logs that are added in the test script by the user. These are usually there to help debug the test script itself.
  2. ERROR logs detailing incorrect usage of the API, timeouts, elements can't be found etc. For example, when using page.on with in incorrect event type. These logs should inform the user that they've used the API incorrectly so that they can fix it themselves.
  3. ERROR logs detailing internal errors. These errors should inform the user that they should take note and let us know that they've ran into this issue so that we can fix it (i.e. a bug). It would also be useful to log the timestamp of when the line was logged, and the VU and iteration the log came from.

The following contain examples of what we currently show in various scenarios, and what we should show to make it easier for the user to action on the logs.

It would probably be useful to allow the verbosity level to increase to what we currently show with some sort of --verbose-logs logs flag.

Incorrect Usage of an API

Incorrect usage of the API ```js import { browser } from "k6/browser"; export const options = { scenarios: { ui: { executor: "shared-iterations", options: { browser: { type: "chromium", }, }, }, } }; export default async function () { const page = await browser.newPage(); page.on('metric', (metrics) => { metric.tag({ urls: [ {url: /^http:\/\/2022wfh\.ddns\.net\/ping\?h=[0-9a-z]+$/, name:'ping'}, ] }); }); await page.goto("http://2022wfh.ddns.net/test", { waitUntil: "networkidle" }); await page.close(); } ```

The output of the test run from the above is currently:

Incorrect usage of the API Logs ```bash ERRO[0000] error on evaluating window.k6SpanId: evaluating JS in global context: context canceled category="FrameSession:onFrameNavigated" elapsed="0 ms" source=browser ERRO[0000] ReferenceError: metric is not defined running at file:////mem-usage.js:23:5(1) executor=shared-iterations scenario=ui source=stacktrace ```

I believe the log should only be something like:

ERRO[0000] 2024-10-14T10:00:00.0000 VU:1 It:1 metric is not defined running at file:///<path>/mem-usage.js:23:5(1)

Script Error

Script Error ```js import { browser } from "k6/browser"; export const options = { scenarios: { ui: { executor: "shared-iterations", options: { browser: { type: "chromium", }, }, }, } }; export default async function () { const page = await browser.newPage(); await page.goto("http://2022wfh.ddns.net/test"); await page.locator("a[href='https://not-there.com']").click(); await page.close(); } ```

The output of the test run from the above is currently:

Script Error Logs ```bash ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/balh.png" WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/favicon.ico" INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="0 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6d6396af759f1efbee207bb9b1dafa3f63322fb8cdc701ce9c05269d5df0b0bc"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=2bb7bb6922afaf24b9b9056520a906041c8a0ab947a5f369077f739dd18787b8"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6184d747aa70e0e8e7469c83701c1c6de531a3cc3c2155033c16cdb665d400fb"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5ffd5e957da153474171b460f09b2ac70248617ca7b2b192af90583cb9769c7c"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=3a49f0ec231d28fbc14ce9d93e936a048f93ce2ca42f2a2b6402051e8654222a"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=0416882e817fc3c1ebad8fc0545e5c69ae2b354cf7f5c0d6829d4a95d4eadfe2"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=36735a9ea6af196a466ebddd8914882c8bcaf8585d8a12544dfd2964197fea08"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=b61a215ac0b464f19a31c328cb0392b081b0089a1ca582d5055422b64ed04ae0"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="64 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ffa6acb3616b92ec7be29c7560c154bca2c97abd73858eaeab8a00db180c74fa"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=9469e60bd57bf53327aebc660b1a0d09cebcf572a3f546d09ffe20bb0b7afd07"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=615a0f2ff9948b208d5e4c130215df1874d73ebf9f8176070acca59cd5380321"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=dd7b2154b0c11d942d9b50886cf98bce2f487b8d20e6caaa7747ae94300d8584"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="68 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=978a37922e5a133fab0e42a67cdbbf3fb0cdf9ca3632a8e004de14afcd8cd135"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=df6e3b56ef85544de7f0ece8b80a4ac125534096110ef2037fcebed21df3f7ec"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5d31b12340acc6cdf67c0455549da5787f74f3b077290f3676200c0fc89773d7"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=9d36c9fa1f9ce6977dd4e822ed851011ba610267ad66a88d6100a03c3f19ac3f"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=be964c5dfa78b5efb8f648562ef4cb57967c12dd50d7627b901f3d406c48b1ff"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="85 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=8587b754962b699d33915cb03356dcbb2375f1fcd49f3643492c98858afaced1"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=81e38256597bd1902038e7c9c7ead54a194c88dccb515bac5c083265d5633ca0"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=96563b09547529a2bb20b7327521f6ba0a4ed237fe219b1ac640d482679c4715"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ae25a47b62ee7e2552f822e236281724fe94960d4ad12d72d8af9d51552317fc"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=4b7fdcb334498a96d2c935911559609c6d68be378b9526dd6967d6ffb837820e"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f41c6729a5439e5f757fec12cb0b3dcbccae884df52d4aa1d4ff3b2e18752732"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=afa3ac7821b87a96d33d42dc84c52ae35284b99086c49b6f1a1a6e004c3966e3"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6bfe5ff3c7ed7666e2c5e2303054b27adb861479ff962bdf69d9a0f0642fac3e"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=b0c540da098b718099622296a77d6e686d5a455ddb47f002dae884887a1b5b31"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=23bf9902542c85117479c418b2aed49cf514d196a25d0c46784183332980fdb9"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="67 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=47974473d9a5cc06b85505cb455217629950f7691777fc28c3262fdb26dc3592"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d25ca5012485b4a6a398cfbb105519882336e1fd42e4b00e3a34fe351a41624a"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="67 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=60f8382559959fbee865f047c865ce418722ccf7e45424d3e1ba07a3ffd26b40"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a991cd251fe889c71ba5f9248c698b73925af1ce14166f25c0a1edce9d498bb3"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d7a135c9d5f1051d69db6b35db553545f0c0bb4d90e3543bf4e200add7f49073"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=c97c750eb305657b48276c73c01eb9a5c73be2de019ea59049f43f9bef7f84f7"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=3ed2de81acdb48d87e28f824bba88c982f2d02294ac77035f0ab258fdb5be6df"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=b3bcd159af9592fba335ba99085434584a8d862e741593b14e18fba05df4a66b"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=005be6765828ac30a5070041e2592a993afc7810fc744db19ab99e87ce1ef484"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1f383aeadf9d20ac22b7229d358bde9be419414108f214497cc45d27aa4ae83c"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=3db27e6ce3e66b147b599b6eb2992cdb424092d2717417e77ecca31264aedace"} browser_source=console-api source=browser WARN[0003] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d134911dd5d0c1fe4a1f464be3a1506a772d47db85afc19e59e0c4ab010c3aec"} browser_source=console-api source=browser WARN[0003] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=9b8cd2029422420b9cf2c6e4e77b425daa2b4d033fd20cd2b8695ed404e778ed"} browser_source=console-api source=browser INFO[0003] File uploaded successfully! browser_source=console-api source=browser INFO[0003] {\"hello\":\"world\"} browser_source=console-api source=browser INFO[0003] done p2 browser_source=console-api source=browser INFO[0003] Server Response:\n --0dce2c16e0608097534438aa7f37be07d310b6dbeaf61459e7d6e810e778\r\nContent-Disposition: form-data; name=\"metadata\"; filename=\"metadata.json\"\r\nContent-Type: application/octet-stream\r\n\r\n{\"title\":\"Sample File Upload\",\"description\":\"This is a sample file with metadata\"}\r\n--0dce2c16e0608097534438aa7f37be07d310b6dbeaf61459e7d6e810e778\r\nContent-Disposition: form-data; name=\"file\"; filename=\"sample.txt\"\r\nContent-Type: application/octet-stream\r\n\r\nThis is the content of the file.\r\n--0dce2c16e0608097534438aa7f37be07d310b6dbeaf61459e7d6e810e778--\r\n browser_source=console-api source=browser INFO[0003] Server Response:\n comment=This+is+a+comment+with+special+characters+like+%26+and+%3D&description=This+is+a+sample+description&email=user%40example.com&title=Sample+Title browser_source=console-api source=browser INFO[0003] Server Response:\n Received multipart/related request successfully browser_source=console-api source=browser WARN[0030] Unexpected DevTools server error: context canceled category="ExecutionContext:eval" elapsed="27578 ms" source=browser ERRO[0030] Uncaught (in promise) clicking on "a[href='https://not-there.com']": timed out after 30s executor=shared-iterations scenario=ui ```

I believe the log should only be something like:

ERRO[0030] 2024-10-14T10:00:00.0000 VU:1 It:1 Uncaught (in promise) clicking on "a[href='https://not-there.com']": timed out after 30s

Successful Run

Script Error ```js import { browser } from "k6/browser"; export const options = { scenarios: { ui: { executor: "shared-iterations", options: { browser: { type: "chromium", }, }, }, } }; export default async function () { const page = await browser.newPage(); await page.goto("http://2022wfh.ddns.net/test", { waitUntil: "networkidle" }); await page.close(); } ```

The output of the test run from the above is currently:

Successful Run Logs ```bash ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/balh.png" WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/favicon.ico" INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="0 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=32efcc1274da7cd8ae5cfc28baf010a677e0d8c3bc303c8326481ff4d32fe8e0"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=77deb1b723ec9359ac15aebc3209b57c0208b1ff875cf177769b6c045a491d96"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=facf9519baa5ba2830b05133b62c5d99c50c9a8c7f0036f2c6829740be66e8b2"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="66 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a622974bc517ddc9cc30415fd268b9d3e85fb6c52401ed1697b85b4be47f1658"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5e4e56d73434d90968eb5d0321baf56ea5e86a182a399fc970929857b05cab97"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=b61f97b8410c965faac70b1d118569995698f83c110289af853a8443220ca00e"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ffadc3c86017e510b81155bf7c1b9aab26ce6ab67ec6c81c620ef5871e0d9cc9"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f59e1c7ca945c428537b033298fb93f93251dc86ab4c6be7c43cdf356ad48519"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1faa9a1a65de06c11fd9abbb2cd6a9ba37b7f160a3c4025bcfbf49f91f4ce140"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=12b465ec349d1f29d9f614a607a80386971b919c6b40a9fc8ad8c7a0af860a31"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="64 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=e3aaaba3a8e89942aa81845305bd3cb4ad089aecc216ef35286b4a7c64025fdf"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1ee8642938735924c92e9aaf16dfe1025e3dc612db9172a3b2eaaac162ca5dd8"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d8006216955db9b99677071ec16161952e227e3a7327c00019e192c85031ed55"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ff2f34d49c1db7a53f290091af48cfed9393577567e04618a2fb5d9ba0734633"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=cdf96f6382430c52bc0251b297ee69ce56a77799ffde20e23874d68e57c711a1"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=c7cfac150b0e6c315aa00aec654c6abfc46747b978f9f5125fcac47d68d6d063"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=514d7074f5afe671ee3b7a9200a157ad1fea8ee6f3871ea1060ce3c6ea65215a"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="67 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6501b49afc9121e09579e2f7f79c0381959529bd7145df14bb5bb3252e66c7d2"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d5e4fc72e00c34862f9fa98e87cd35e79eaf95afb208f320350125ca7db59a36"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6a9e3650dc604f0a9990c5b8d86f46d2e7d96239b72aedfe24baeb4876134b35"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d0c8962f4aa5a5a17377998c2d524565ba8f9ac7198e8cbbc1af786fd2f21463"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ecdebc1b144ff3ae5ace31360de6788b2fc5ed6584482063ea3a81d97fcb2ed0"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=48d5644246bc8a49e43f61a07a5dd1d0410dced0a411c0fa675cb2d19bd2af19"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=15ea6466a4cc4ff747957904f7d6fb3e4ae016d00c64400822b26fa967eaa0e7"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=0a9a9476d1f626a7053d8f8bec24ea7a80f6a18957e4decd58e979020b5cca1e"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=397bdfe0a62ba059fd60748b2b14ea365b5747225d4009b5ff6e9f9ea11508f9"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5f769410d345daf4cb95f0c170edb65e6534cd6de1cb73067309eadf395524b2"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=0932f107a57fda53a2158f1b17fa41803be18d010c4decf64aced26767a51417"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=52c0a8a13afeeb0e04acf0436b1936488f4efc99813d692a9eaf93a0893281a8"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=7ebbdabc28e051a4311e9c691949a4dfe4d27d64269628503e311ee9d50c1c33"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=7069ab6ff78d05624c271e884876dfb379617da8c0d424404f3499a7edb22dfa"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=721870468a974ff1ed5488389486ad73f45a5e55f8d888bdfab3e8ab36f53843"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ad31067bcb77da10e34fbdc81f92102596cf7cf60dfbc10885219244f6c4bd80"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=8825bbb8cb8b3a99a24b30413987fb621e290c007a8fcf865e5cdbe1b44aa5d5"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="69 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=8b701828dcdd17d79e6b9231cc44ddde94ed013c3963272c266f8b65a78f1b92"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5adbd8b7aed4cbb88c2dbf802da51509f9f39ff3411f6c11adebad4cc98a229a"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="66 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=4ee5528ff7d523272c6a1c690f11e5444d1bc57ecc4c64703c6c2e9a8682eb0d"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d61783f5ac50f9e023f89cd2d701f01c35a050f6125394d1dfb83079e9577968"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ef5f6f63e6c7676df4398a5f25eef916d6d4972982999a48088f7434240c8df8"} browser_source=console-api source=browser WARN[0003] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a96650ce8d153b7f9157792232d543edab291ff1bdd19b46a803a74cf80a63f0"} browser_source=console-api source=browser INFO[0003] File uploaded successfully! browser_source=console-api source=browser INFO[0003] {\"hello\":\"world\"} browser_source=console-api source=browser INFO[0003] done p2 browser_source=console-api source=browser INFO[0003] Server Response:\n --12af2830fc02ef736373554ed114dc5f2d507411566551f49a1cd9d3c64b\r\nContent-Disposition: form-data; name=\"file\"; filename=\"sample.txt\"\r\nContent-Type: application/octet-stream\r\n\r\nThis is the content of the file.\r\n--12af2830fc02ef736373554ed114dc5f2d507411566551f49a1cd9d3c64b\r\nContent-Disposition: form-data; name=\"metadata\"; filename=\"metadata.json\"\r\nContent-Type: application/octet-stream\r\n\r\n{\"title\":\"Sample File Upload\",\"description\":\"This is a sample file with metadata\"}\r\n--12af2830fc02ef736373554ed114dc5f2d507411566551f49a1cd9d3c64b--\r\n browser_source=console-api source=browser INFO[0003] Server Response:\n Received multipart/related request successfully browser_source=console-api source=browser INFO[0003] Server Response:\n comment=This+is+a+comment+with+special+characters+like+%26+and+%3D&description=This+is+a+sample+description&email=user%40example.com&title=Sample+Title browser_source=console-api source=browser ```

I believe the log should only contain the results.

Conosle.log in Test Script

Conosle.log in Test Script ```bash import { browser } from "k6/browser"; export const options = { scenarios: { ui: { executor: "shared-iterations", options: { browser: { type: "chromium", }, }, }, } }; export default async function () { const page = await browser.newPage(); console.log('new page created'); const url = "http://2022wfh.ddns.net/test" await page.goto(url, { waitUntil: "networkidle" }); console.log(`navigated to site ${url}`); await page.close(); } ```

The output of the test run from the above is currently:

Conosle.log in Test Script Logs ```bash INFO[0000] new page created source=console ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/balh.png" WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/favicon.ico" INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="0 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=7d8144039075af3bced5fc2d9e63d60c94211dcdc69ffebcfb00e8c410f4b057"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5a153628aa3011573b515aec30c53f8f22f2b16e1014ec8dfc593f8a6f5aa1d4"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=e7bf7242b3a9e66f1133d94ae363b9c7978a77c6ec11693bd0bdebaec858fa78"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5a6f3b80d59589b151db0cdbeb482bc26c3ba47cdd640ad90839fefc7f48cc5f"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1ff8decdf1651e9c8509adccb4c2f62e2f21f5c03a360cac7662bd0dc1dea3d4"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=e7697fffb9d9a8c14c09bf392286e24ecb730c430fff264b9928c616ac5b4470"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=c2471cf4d38889b4da416ca9e9a380aa9180e0e8ba98e9ef77b83329d272cc68"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="69 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a9879972e8a1febe017f9776b01ee2fd556c2e06f7c020f3899255e0cd9db1ce"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=26dc60102f31d630758696cff1a9728fae88a933fe104b1a05ea1b4c10260fac"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5d1bc0d8b2749b1311a1613369d10fe8021ef68f5d3e10bf87c5f65475aeef55"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ad3a17c21474ff08625cf65e8ec536266dae72d5850b4cfd519e374953226887"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="56 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=3c9b3d1c1d097252f8bd5c799030422593f1c8c7f2845b48fa632b0c157c8610"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d1c5df9283beb7b239dba8340234fd946f5597b0253facfaec7a401703c39ccb"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=9b38815125215718b4b9b9ed1d5d215978b65eb6d1a9cb49df453f83125eaede"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=2d65619a05c92f619564552ab42dc3d738784806e0500f933592f7bdaf5cf8b6"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=51289c4946e0112edaf3d1944235d04b0ffea1148faebf3e8bf7b562b0b7a8d8"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=e476078646a4a52cc1ceeb9c44ecdcae293a13857f4d094426406e8a5359a9a0"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6efe9a36bc88fdfe7104de569404a7c91b5b2fd025bc4dabc254502d678f044e"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a3a216411e7b67bb3e6bb450e885701972325ff53b7d0a3873881ae94a31ff96"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=4a4576db354a9eb8d340c7721c6c3ef8830cc9b485bc19c1462aa67ca1ea6024"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=cb730c4386a3392f80f5bc89d43fda55216233eee6a8b4d6a11e83defd0b1b1a"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=831dd1b2ee1b76cd5eb8279046b9b889fbb8c5d7d10f78101b1eee146a9f65dc"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=3e099db1bfbbbead27c87ed2a7a90e31d67cbcb69f3dae776261e9fa925e1a57"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="76 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=eff36d8e519024fe487078df2cab0bb87c55d7d158cf2e634a199775e6891c54"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="64 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=25bbc6235c9b5bca696e53ce5fe462d8073ad3398a5009d69453686d3756c990"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=421f2a9ea32b367ccd318d9d9d3cff32f7bb0204c25908e845f6ff4b934dccab"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=319fc75cfb69d68ea9a0c959d09aee38ac6e661318e92bdb8bbcb5f77a400bfd"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f4c43618370c93aee67e6f09f5ca43cface3d68d3a88014273edf33d5aabbf08"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=7629c554868fde0c24954cab838f18f6261ebf57a2788aa2e729b38ee322f417"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6cd12b0c140890cdf5342c36317ecc4f12c2512b326cdef4730596932bc8a91e"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=ed7e15bc52581383c37f708eae182ac86ad2213c1c46ba0abafe39b7663c9578"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=69941f47967bc5874372328754613808132016590a6338ed09b08a1e59e69655"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=80b5b25254342956be1bcfe57668834c208c57fe568c4153167b18f551481d37"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=14483e906333f196aea4f7a09296b72564e961d28fc13ec4a060c3595276eac3"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="74 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f1d6bdc4e7d7566430936e2a039afbb8ae46fcda5a97b5384320654cc3e2f465"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=b8e534c999a68060fcdf353e34c8bf4182ee12b324e25c3e27015ecc1f682ad7"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=cec0f20ce4df9e75a584c926f67b19892dfa9986539aa2a746c46ee142116f80"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=06cd01ef8c6bdcb90a01e7fe901e3a506371bd4566387322cfe9c19db85ad356"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="56 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=eedff43838966f1b89c6172d76ad6e8fe89c2eaf47195ae79f02d6a5bfac1efd"} browser_source=console-api source=browser WARN[0003] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=cf51291ac4ddce2b451c217157e64cec796b919d98ad30118e1103ed961db76b"} browser_source=console-api source=browser INFO[0003] File uploaded successfully! browser_source=console-api source=browser INFO[0003] {\"hello\":\"world\"} browser_source=console-api source=browser INFO[0003] done p2 browser_source=console-api source=browser INFO[0003] Server Response:\n --e371e0ebe76720e058f3f28c8fa7639d69b6c04b195dc89267f80478306d\r\nContent-Disposition: form-data; name=\"metadata\"; filename=\"metadata.json\"\r\nContent-Type: application/octet-stream\r\n\r\n{\"title\":\"Sample File Upload\",\"description\":\"This is a sample file with metadata\"}\r\n--e371e0ebe76720e058f3f28c8fa7639d69b6c04b195dc89267f80478306d\r\nContent-Disposition: form-data; name=\"file\"; filename=\"sample.txt\"\r\nContent-Type: application/octet-stream\r\n\r\nThis is the content of the file.\r\n--e371e0ebe76720e058f3f28c8fa7639d69b6c04b195dc89267f80478306d--\r\n browser_source=console-api source=browser INFO[0003] Server Response:\n comment=This+is+a+comment+with+special+characters+like+%26+and+%3D&description=This+is+a+sample+description&email=user%40example.com&title=Sample+Title browser_source=console-api source=browser INFO[0003] Server Response:\n Received multipart/related request successfully browser_source=console-api source=browser INFO[0004] navigated to site http://2022wfh.ddns.net/test source=console ```

I believe the log should only be something like:

INFO[0000] 2024-10-14T10:00:00.0000 VU:1 It:1 new page created
INFO[0004] 2024-10-14T10:00:02.0000 VU:1 It:1 navigated to site http://2022wfh.ddns.net/test

Internal Error

For this test I've had to code in an artificial error in the browser codebase to showcase the problem.

Internal Error ```bash import { browser } from "k6/browser"; export const options = { scenarios: { ui: { executor: "shared-iterations", options: { browser: { type: "chromium", }, }, }, } }; export default async function () { const page = await browser.newPage(); const url = "http://2022wfh.ddns.net/test" await page.goto(url, { waitUntil: "networkidle" }); await page.close(); } ``` ```diff diff --git a/common/frame_manager.go b/common/frame_manager.go index 617f20f9..5d496c3f 100644 --- a/common/frame_manager.go +++ b/common/frame_manager.go @@ -703,7 +703,7 @@ func (m *FrameManager) NavigateFrame(frame *Frame, url string, parsedOpts *Frame return nil, wrapTimeoutError(timeoutCtx.Err()) } - return resp, nil + return resp, errors.New("internal error: websocket connection abruptly closed, try again or contact us") } ```

The output of the test run from the above is currently:

Conosle.log in Test Script Logs ```bash ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/balh.png" WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser ERRO[0000] Failed to load resource: the server responded with a status of 404 (Not Found) browser_source=network line_number=0 source=browser stacktrace="" url="http://2022wfh.ddns.net/favicon.ico" INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="0 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=530c960d6b276c5391255186a914ce6dc8e8cffcb469b3971d5166be128651f8"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d9eb7e34f0666c93e40f9cdc0f53bcd71cf598010e7080a5b9a7ecb26bd91bce"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=faf1466ea2b817209a6807f9bfb6885d84ed3f72fc62b2b08fe53546e6be8757"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0000] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0000] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=4487cf86c028eba56579e4f94745aa72572454add39c275edaa6748aac8836d0"} browser_source=console-api source=browser WARN[0000] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f31753fc3c4f4b03c4bba6821cb3dccd9551645294d17c8d366bf57c63187bc9"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=99920429a4888544732dded1c28938985fce237ed01f24785ee71bb12e88c6ae"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=7f11c779dbc69f52115acc6d326eb8be76fd10fd572f65620f09e155a0434292"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=8091b17b27c43b2218e7743c782b86e8316b9913cad185b1dcfe171672338d64"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1459e24e3e82b37482618a0d3850c4355a5b33d28e6bab8ed38e559dbf0ff63c"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=cf49a329068923557eeb069b0a1e2f1ac0b1f0c423fd2154256539820d7493ce"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=440405f29a2d1f9b60ec6442758d19eb2de7096f3d4fe698b88afe125c8d34b0"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=eed3dd6afd18d0bc5a5e5a2499c699d44c45867f0deb53da6546b235ef827bda"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f23d7b8451e4915210481ad87e0d317813ac13f3d46181e97c36f61d1c2c0c66"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=750b61c19b22d6eb708934fcb02d5f7eefb6fb22de1e07ba370cf2129eaa4057"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=0f83906165639be5419c2adf0a93d7f9d0b87f3c6e4fe35d50d4bc6c8bdd4975"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=2a51f511942f91329e0e6d6397bf0650b2d2b77f0c332784d9619eb9e02c3f61"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=6556eeb7f0c75452b9b5de548df3153b4c6c9658e8c7e640cb04dd473893f7a3"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1a775694a9dc5417e3b040550b37f1745e269d7755444ff6ab306da2766121b2"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=90715d79d5281a7481e21c54c7186dcd9c00a9b8f40c42cbcbeeaf23cab72864"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=94e76b10b587beef00244b2c1893314b5e0cad8a47d921693492ac11691416ff"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0001] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="66 ms" source=browser INFO[0001] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=9af46954b4448b6a4d97fe5556b84c6d6dde1957f84becf4b2a6107ccdb72ca4"} browser_source=console-api source=browser WARN[0001] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=bc69894d0574c9c1d70aa3540540d27a9bbb20f20b8633be3859fc4a9776ff15"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=5cd896157c7a01a58ae32bf0dad1a016150fe841b4c697822466415dc5693661"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=e7f2e60b3b07f688efb6fd77d1191639fafa1f1af9872a32a4642759a78b11b8"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f087cbc074e2a8ec7cab3cc7f824c8729a01d75a5c37254212e0b125ee74034b"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=24bb678c5f5c9d4562353ffaca8a015b07576d523441825d2bfc71d77962e872"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=12cb700b026d3ea71b6631d2b79b4b77819a5c60cb31e98ec3fee07717311e9c"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=04e2ceaea90b8ad7fe4b239dcaa51c33622b5a30ba91ac6973ea18d4c20ee057"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=bd6802cc57cb45a3ffffbdf7931b43172c079e545bf0cac0fb87696d7ff3c19f"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="58 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=1d3c9aa8dd3422559477e207ef6fb81aa738026b452cc43d976f2572a0bca986"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a36218e3fa5fbe1d4b4caf4d468455f89e9da4af5c403218a6ec0cb9338dad52"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="60 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=2571bbbbf2047e2435427a07be4ee9fd38b1bd18b020616c0faea5bd8de03c6b"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=f40b99881f1b1c5e675798868b7d0ca94a2d178697e6bf354ba523936f3ded77"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="66 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=35a0332090eccc630196ecaf9b354986da44f94bf33040e969b3c932e480e41c"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="59 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=c87a30639577546a2235dc9e1cc162a873cb8a3a63f70183be751b2a7b9fef03"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="63 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=fa4a186d821e671ebfadd9bf26fcfc1ad9bd21bc85b840a519486a627a4b4831"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0002] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="61 ms" source=browser INFO[0002] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=60b90dc641b7bb06c7917b45e1020fba78fc72a2d63277f7121913430b4d5ed6"} browser_source=console-api source=browser WARN[0002] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="65 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=32c30cd9bbd8d7968326333186aa940ffdd5653a12153675c6b41afe67834d86"} browser_source=console-api source=browser WARN[0003] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="62 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=a148763e807d477f09bac383445887688e39b29f9da5b51f1b3ab30268d8fd13"} browser_source=console-api source=browser WARN[0003] Using CryptoJS as a fallback for non-secure context browser_source=console-api source=browser INFO[0003] object is too large and will be parsed partially category=parseConsoleRemoteObjectPreview elapsed="57 ms" source=browser INFO[0003] {"ok":"true","redirected":"false","status":"200","type":"basic","url":"http://2022wfh.ddns.net/ping?h=d1dbc591b0d7290fce23cb5b23e348309111817cef8621c70b8c2b0e19b838b9"} browser_source=console-api source=browser INFO[0003] {\"hello\":\"world\"} browser_source=console-api source=browser INFO[0003] done p2 browser_source=console-api source=browser INFO[0003] File uploaded successfully! browser_source=console-api source=browser INFO[0003] Server Response:\n --1dfa06eecd1e6fcf1acf361d6660904f3963ea2c659b72e28ce4064cb5ea\r\nContent-Disposition: form-data; name=\"metadata\"; filename=\"metadata.json\"\r\nContent-Type: application/octet-stream\r\n\r\n{\"title\":\"Sample File Upload\",\"description\":\"This is a sample file with metadata\"}\r\n--1dfa06eecd1e6fcf1acf361d6660904f3963ea2c659b72e28ce4064cb5ea\r\nContent-Disposition: form-data; name=\"file\"; filename=\"sample.txt\"\r\nContent-Type: application/octet-stream\r\n\r\nThis is the content of the file.\r\n--1dfa06eecd1e6fcf1acf361d6660904f3963ea2c659b72e28ce4064cb5ea--\r\n browser_source=console-api source=browser INFO[0003] Server Response:\n Received multipart/related request successfully browser_source=console-api source=browser INFO[0003] Server Response:\n comment=This+is+a+comment+with+special+characters+like+%26+and+%3D&description=This+is+a+sample+description&email=user%40example.com&title=Sample+Title browser_source=console-api source=browser ERRO[0004] Uncaught (in promise) navigating frame to "http://2022wfh.ddns.net/test": internal error: websocket connection abruptly closed, please try again or contact us executor=shared-iterations scenario=ui ```

I believe the log should only be something like:

ERRO[0004] 2024-10-14T10:00:00.0000 VU:1 It:1 Uncaught (in promise) navigating frame to "http://2022wfh.ddns.net/test": internal error: websocket connection abruptly closed, try again or contact us