Awesome Locust
A curated collection of resources covering different aspects of load testing using Locust framework and related stuff: plugins, integrations, testing techniques, DevOps practices, etc.
Locust is an open-source scalable load testing framework written in Python.
Contents
- Official Resources
- Getting Started
- Tutorials
- Tools
- Templates
- Trainings & Courses
- Videos
- Community
- Related
Official Resources
Getting Started
Tutorials
- Locust for JMeter users - A tutorial on using Locust for people familiar with Apache JMeter.
- How do I Locust - A quick overview and random tips for Locust.
- Locust.io experiments - Series of experiments with Locust.
Tools
Plugins
- locust-plugins - A set of useful plugins/extensions for Locust.
Workers
- boomer - A better load generator for Locust, written in Golang.
- locust4j - A load generator for Locust, written in Java.
- swarm - An elegant Java client for Locust.
- node-locust - A Node.js load generator for Locust.
- ably-boomer - Ably load generator for Locust, based on the boomer library.
- ably-locust - A JavaScript load generator for Locust.
Wrappers
- invokust - A wrapper for Locust to allow running load tests in Python or on AWS Lambda.
- strezz - A wrapper for stress testing using Locust based on Jest.
- stormer - Wrappers for making load test with Locust more convenient.
- locust-extension - VS Code extension to simplify the usage of Locust.
Configuration Management
- ansible-role-locust - An Ansible role to manage Locust master instances.
- locust_slave - An Ansible role to manage Locust slave instances.
- terraform-aws-locust - Deploy a Locust stress test cluster on AWS based on CoreOS/Docker.
Distributed
- locust-swarm - A tool for launching distributed Locust runs on a set of load generators.
- azure-locust - Run distributed Locust load tests on Azure Container Instances.
- kangal - Run performance tests in Kubernetes cluster using multiple load generators.
- klocust - A command-line tool for managing Locust distributed load testing on Kubernetes.
- zelt - Zalando End-to-end Load Tester, a command-line tool for orchestrating the deployment of Locust in Kubernetes.
- locust-on-azure - Running distributed Locust on Azure Container Instances.
- locust-admin - Dynamically create and manage Locust instances on a Kubernetes cluster.
- amazon-eks-locust - Load testing your workload running on Amazon EKS with Locust.
- terraform-aws-loadtest-distribuited - Terraform module to run your load tests created with JMeter, TaurusBzt or Locust on AWS as IaaS.
- locust-k8s-operator - Cloud native solution to run Locust on any Kubernetes cluster.
Frameworks
- Taurus - Locust Executor as part of Taurus framework.
- httprunner - A HTTP/S testing framework with reuse of Locust.
- Grasshopper - A lightweight framework for performing load tests, glues Locust, Pytest, some plugins and some custom code to provide a package that makes authoring load tests simple with very little boilerplate needed.
- Grizzly - A framework to easily define load test scenarios, mainly built on top of Locust and Behave.
CI/CD
- locust-github-action - A GitHub action for load testing using Locust.
- teamcity-locustio - Configurable Locust test runner plugin for JetBrains Teamcity.
- Keptn Locust Service - Keptn integration to performance test application using Locust.
Reporting
- Locust Exporter - A Locust metrics exporter for Prometheus.
- locust-reporter - Generate HTML reports from Locust load test output.
- JtlReporter - Online reporting application to generate performance reports from Locust by either uploading CSV file or streaming data from the test run continuously.
- locust-influxdb-listener - Locust base project with a custom influxDB listener.
- locust-cloudwatch - Code and a CloudFormation template to publish Locust test results as AWS CloudWatch metrics.
Results Processing
- locustcompare - A command-line tool to compare Locust test results.
- locust-csv-to-junit-xml - Simple utility to convert Locust CSV output into JUnit XML.
Miscellaneous
- transformer - A command-line tool and Python library to transform/convert web browser sessions (HAR files) into Locust load testing scenarios (locustfile).
- swagger-to-locustfile - A command-line tool to create Locust tasks file (locustfile) from Swagger/OpenAPI spec.
- locust.replay - Record and playback Locust tests with mitmproxy.
- har2locust - Convert HAR file to a Locust script.
Templates
- stress-test-locust - Template for stress testing with Python, Locust & Docker.
Trainings & Courses
- Performance Testing Using Locust 1.0 - By Udemy.
- Locust Performance Framework Development with Real Project - By Udemy.
Videos
Talks
- An Intro to Load Testing with Locust and Python - Gabriel Boorse @ PyBay 2019.
- Load test your backend with locust.io - Ivan Matellanes @ PyLondinium 2018.
- Load testing with Locust - Kubilay Kahveci @ FOSDEM 2018.
- Performance Testing with Python and Locust - Michael Sluyter @ PyTexas 2017.
- Distributed Load Testing with Kubernetes - Amanda Waite @ Devoxx Belgium 2015.
Video Tutorials
- Load Testing with Python and Locust.io - Tutorial series by Nicolai Gram.
- Learn Locust Series - By QAInsights.
Community
Related
Awesome Lists
- Awesome Software Quality - A list of free software testing and verification resources.
- Awesome Testing - A curated list of testing resources.
- Awesome JMeter - Open-source load testing and performance measurement tool, written in Java.
- Awesome Gatling - Open-source load and performance testing framework based on Scala, Akka and Netty.
- Awesome Tsung - Open-source multi-protocol distributed load testing tool, developed in Erlang.
- Awesome k6 - Open-source, developer-centric performance monitoring and load testing solution.
Other
- How They Load Test - A curated collection of publicly available resources on how companies around the world perform load testing.
- Load Testing Toolkit - Collection of open-source tools for debugging, benchmarking, load and stress testing your code or services.
Contributing
Contributions are welcome!
Please take a look at the CONTRIBUTING guidelines first.