k6
Open-source, developer-centric performance monitoring and load testing solution.
Articles
Explanation of the principles of load testing and practical examples for how to do it with k6.
A 2-3 hour k6 workshop with practical k6 examples using the QuickPizza demo app.
Load testing stack using k6, Grafana and InfluxDB.
Examples/Templates
Web application used for demos and workshops with multiple k6 examples.
Starter template using Webpack and Babel to enable ES6 features in k6 tests.
Starter template using Webpack bundler to write k6 tests in TypeScript.
Example using Rollup to bundle k6 tests.
Starter template using Vite (Rollup) bundler to write k6 tests in TypeScript.
Opinionated starter templates for k6 projects.
Use K6 to implement a Multi Scenario template.
A K6 Performance Test Suite Template.
Load testing framework.
Another k6 framework example.
Modularized scripts for the Swagger PetStore APIs.
Continuously run k6 tests in Kubernetes using cronjobs.
Demonstrates how to run load tests with containerised instances of K6, Grafana and InfluxDB.
Tools
Tool for converting k6 output to JUnit XML for easy use with CIs.
Tool for converting k6 output to HTML reports.
Tool for generating k6 HTML reports.
Tool for converting HAR recordings to k6 test scripts.
Tool for converting Postman collections to k6 test scripts.
Tool for converting Swagger/OpenAPI specifications to k6 test scripts.
Tool for converting JMeter test cases to k6 test scripts.
k6 JUnit summary exporter libray.
k6 library that simplifies writing tests in a functional way by providing a jest-like syntax for expectations.
Extensions
Official
Client for load testing distributed tracing backends.
Inject faults to test .
Run external commands.
Interact with Kubernetes clusters.
Client for load testing Loki.
Create notifications.
Export results to InfluxDB v2.
Export k6 results in real-time to Kafka.
Export k6 results to TimescaleDB.
Test Prometheus Remote Write performance.
Load-test SQL Servers (PostgreSQL, MySQL and SQLite3 for now).
SSH.
Community
Test Action Cable and AnyCable functionality.
Interact with Constrained Application Protocol endpoints.
Load env vars from a .env file.
K6 extension for ethereum protocols.
Generate random fake data.
Write files.
Write k6 tests in golang.
Load-test Apache Kafka. Includes support for Avro messages.
Share key-value data between VUs.
Mock HTTP(S) servers.
MQTT extension.
Provides NATS support for k6 tests.
Generate OpenTelemetry signals from within your test scripts.
Export results to Elasticsearch 8.x.
Export results to Prometheus pushgateway.
Enables real-time output of test metrics to a StatsD service.
Export results to AWS Timestream.
Browser automation and end-to-end web testing using Playwright.
Prometheus HTTP exporter for k6.
Support for input arguments via UI.
A k6 extension for Server-Sent Events (SSE).
Send data to TCP port.
Updating the current k6 metrics summaries on the terminal during the test run.