Unable to record traffic in K6 Studio - no requests are captured

I am trying to record a simple script using the example documented here. After entering “test-api.k6.io” and selecting “Start recording”, the Chrome browser pops up with the k6 webpage as expected, but the Recorder window within K6 studio appears stuck in the “Starting” status, and no web traffic is ever recorded.

Few other things worth mentioning:

  • Without changing any default settings, I get a “supported browser not found” message in the “Record your user flow” screen, even though Chrome is installed in the default location. I am able to specify the location of the Chome.exe to get past this message, but it is odd that I needed to do that.
  • The proxy status icon shows as green and Proxy status as online.
  • I don’t see any events in the application logs from the time I attempt to start the recording.
  • This same issue of no web traffic being recorded happens regardless of the URL I specify for the recording.
  • K6 studio v1.0.1 is being used

Hi, can you share the system and architecture used ?
Would also be useful if you can share the version of Chrome used and which release, the app tries to locate the Stable version of Chrome on the system so I’m curious it failed to detect it in this case :thinking:

Windows 10 Enterprise/x64-based PC

Chrome is at Version 134.0.6998.89 (Official Build) (64-bit)

I’ve been trying to replicate the issue with the same Chrome version on Windows 10 Pro but I failed to do it :thinking:

Could be an issue specific to the Enterprise version, may I ask you to confirm that both k6-studio.exe and k6-studio-proxy.exe are allowed apps in the firewall ?

From the start menu: Firewall & Network protection —> Allow an app through firewall

I don’t see the k6 apps even listed in the Firewall & Network protection | Allow an app through the firewall screen. I can’t try adding as this is blocked by my company’s security policy.

I did confirm that Firewall & network protection notifications are enabled to notify me when the firewall blocks an app, and I have not seen anything regarding K6 apps being blocked.

Hey @cbrzana1, thanks for your patience while we try to investigate this issue.

I was unable to replicate it on a fresh install of Windows 10 Enterprise, so I’m wondering if there may be any environment-related configuration preventing the proxy from capturing requests.

We have a few additional questions that can help us understand a bit more about your setup if you don’t mind sharing.

  • In k6 Studio Proxy settings, what configuration are you using for “Proxy mode” (regular or upstream)?
  • Do you see k6-studio-proxy.exe process running on your task manager?
  • Do you have any other proxy running on your machine besides k6 Studio’s?
  • Proxy settings are port 6000/ Allow Grafana to find an available port if this port is in use/ Regular proxy mode
  • I do not see the k6-studio-proxy.exe running either when I start K6 studio, nor when I start a recording
  • There are no other proxies running on the same machine I am running K6 studio from

k6 Studio seems to have detected that the proxy is running (the green icon showing that the proxy is online) but the process is either blocked or not being properly initialized.

Could you please try manually starting the proxy and see if it runs successfully? The default location on Windows is %USERPROFILE%\AppData\Local\k6_studio\app-1.0.1\resources\x86_64\k6-studio-proxy.exe

Launching k6-studio-proxy directly, it seems to run fine and the console output is:

[14:04:31.927] HTTP(S) proxy listening at *:8080.

I also tried restarting my machine and launching K6 studio directly after the restart, and noticed that there were 9 PIDs running related to K6 studio (2 of which now include k6-studio-proxy). Not sure if that would be expected but thought it worth sharing:

k6 Studio’s proxy seems to be running as expected according to your screenshot. Is there any chance you are using an Enterprise version of Google Chrome that could contain policies preventing the browser from propagating traffic over a proxy?

You can check if you’re using Chrome Enterprise by visiting chrome://policy/ and referring to the list of policies that may be applicable to your case.

Let us know if this is the case and we can explore additional solutions.

I use other tools such as Loadrunner VuGen and Fiddler that allows us to do the same thing with capturing traffic from a browser, so I don’t believe that is the case. I did check through the dozens of Policies setup on our Chrome enterprise, and there does not appear to be anything related to proxy setup.

2x processes for k6-studio-proxy.exe is expected so that’s fine.

This is an intriguing issue that to solve we need to be able replicate it first, do you have more information on how we could set up the browser in the same way as in your machine ? (to the limit we can know)

Another thing to try would be to see if in the launched browser from the application, if you navigate to mitm.it does it fails to connect or do you see the certificates page?

It would also be beneficial if you can attach your log file here (found in settings) so that we can take a peek to see if anything odd happened :thinking:

I am not sure if there is much more I can share that I haven’t already - unfortunately, our proxy settings are configured from my company admin, and I can’t even see what they have it set to. When I navigate to Chrome proxy settings, the option to even simply view it is not available.

I can attempt to try this on a virtual machine that doesn’t have the same limitations, but that may take several days.

This is what is displayed after navigating to mitm.it from the browser that launched as a result of the K6 studio recording:

If you can see this, traffic is not passing through mitmproxy.

The only event in the log is the following:
[2025-03-20 14:13:24.244] [error] Unhandled rejection Error: ERR_FAILED (-2) loading ‘file:///C:\Users\cbrzana\AppData\Local\k6_studio\app-1.0.2\resources\splashscreen.html’
at rejectAndCleanup (node:electron/js2c/browser_init:2:78355)
at finishListener (node:electron/js2c/browser_init:2:78517)
at WebContents.stopLoadingListener (node:electron/js2c/browser_init:2:78904)
at WebContents.emit (node:events:530:35)
at r.emit (C:\Users\cbrzana\AppData\Local\k6_studio\app-1.0.2\resources\app.asar.vite\build\main.js:36:29304)

This might be our best bet since we aren’t able to reproduce this issue, if we can get the steps to reach it from a fresh installation that would be perfect to debug, if you manage to have time to set it up of course, we would really appreciate it :person_bowing:

I don’t see anything maybe the image failed to upload :thinking:

Indeed that’s a minor unrelated thing