Skip to content

Desktop application for Mac and Windows (Linux coming soon) designed to help you generate k6 test scripts

License

Notifications You must be signed in to change notification settings

grafana/k6-studio

k6 Studio
Grafana Labs

Desktop application for Mac and Windows designed to help you generate k6 test scripts

Download · Report issues


⚠️

This application is currently in the experimental stage. Expect bugs, incomplete features, and breaking changes as development progresses. Use at your own risk, and please report any issues or feedback to help us improve.


k6 Studio

With k6 Studio, you can quickly record a user flow in a browser, generate and inspect a HAR recording, customize your test script using predefined or custom rules, and test and debug your script to ensure it's working as expected.

The goal is to provide a seamless experience for generating k6 test scripts, making it easier for anyone to create performance tests in an interactive interface.


Demo

k6.Studio.QuickStart.mp4

Installation

k6 Studio is available for Mac and Windows (Linux support coming soon). You can download the latest version from the Releases page.

⚠️ Google Chrome needs to be installed on your machine for the recording functionality to work.

How it works

k6 Studio is composed of three main components:

Recorder

The recorder is designed to generate a HAR recording of the user flow you want to test. When you start a recording, a new browser window opens, and every request is collected to generate the HAR file. You can also create groups during the recording to better organize your test script.

The recorder uses a proxy to catch requests from the specific browser window, which is powered by mitmproxy.

Generator

The generator helps you create a k6 test script without having to write a single line of JavaScript. You can choose a HAR recording to automatically generate a valid k6 script, and then apply rules to fine-tune your script. For example, you can use a correlation rule to extract and replace a variable across your script, or even add custom JavaScript after each request.

You can also configure test options, such as the load profile for your test, see a preview of the script after all the rules are applied, and validate or export the script.

Validator

The validator can help you test a k6 script by executing a single VU and single iteration test run to make sure that your script is working as intended. You can view the selected k6 script, all the requests and responses sent with the ability to inspect them in detail, the k6 logs, and also any k6 checks that are in your script.

Support

If you have any issues with k6 Studio, would like to report a bug, or suggest new features, open a ticket here.

License

k6 Studio is distributed under the AGPL-3.0 license.


Troubleshooting

localhost requests not being recorded

The proxy doesn't capture traffic when sent directly to localhost. To fix that, you can assign a hostname to it and make requests through that name. To do that, modify the hosts file on your system, for example, 127.0.0.1 myapp, and then you will be able to make requests in the browser at myapp:8000/path.

"Proxy failed to start" error

If you're on a Mac, make sure you're not running the k6 Studio application from the Downloads folder. If that's the case, close the app, move the application file to the Applications folder, and start the app again.

Application logs

Application logs are saved in the following directory:

  • on Mac: ~/Library/Logs/k6 Studio/k6-studio.log
  • on Windows: %USERPROFILE%\AppData\Roaming\k6 Studio\logs\k6-studio.log

When opening an issue, please include a tail of your log file.


Development

Requirements

  • Node.js >= v20

Dev install

npm install
npm start

About

Desktop application for Mac and Windows (Linux coming soon) designed to help you generate k6 test scripts

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published