Skip to content

Latest commit

 

History

History
123 lines (77 loc) · 5.21 KB

README.md

File metadata and controls

123 lines (77 loc) · 5.21 KB

k6 Studio
Grafana Labs

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

Download · Documentation · Report issues


⚠️

This application is currently in the public preview stage. Bugs and breaking changes might occur prior to general availability. 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.

Usage collection

By default, k6 Studio sends an anonymous usage report so that we can track relevant information to be able to build the product making better data-driven decisions. Prioritizing the features that benefit the most and reducing the impact of changes.

For more information visit the documentation.


Development

Requirements

  • Node.js >= v20

Dev install

npm install
npm start