artillery is a free, open source browsers & extensions project written in TypeScript and released under MPL-2.0. It has 9,080 GitHub stars, 565 forks and 487 open issues, and was last pushed 18 hours ago. On this registry it ranks #42 of 101 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available.

What is artillery?

Artillery is an open-source, TypeScript load testing platform that runs production-grade load and browser tests from a laptop or from serverless infrastructure, and it is built for developers, QA engineers, and platform teams who need to exercise HTTP APIs, GraphQL, WebSocket, Socket.io, gRPC, and Kinesis services at cloud scale.

What it is

Artillery is a load testing platform written in TypeScript and published under the Mozilla Public License 2.0. It describes itself as a complete platform rather than a single runner: it covers test definition, distributed execution, browser-driven load, and observability integration in one project. Its topics sit across API tooling, browser automation, AWS, and OpenTelemetry, which reflects the breadth of what it is expected to drive. The project lives at artillery.io and is distributed as a GitHub repository carrying ninety-plus KB of history, given its 9,080 stars and 565 forks.

The concrete problem it replaces is the combination of a local-only load generator and the manual DevOps work needed to make it distributed. Artillery scales load tests out on top of AWS Lambda or AWS Fargate with no infrastructure to set up or manage, so a team that would otherwise provision and tune a fleet of load generators can instead push the same test to serverless capacity. It also replaces the practice of approximating real browser behaviour with synthetic HTTP calls, because it can load test with real headless browsers through Playwright.

Key capabilities

  • Distributed, cloud-native load testing out of the box and at no cost, scaling workers on AWS Lambda or AWS Fargate.
  • Browser-based load testing with Playwright, using real headless browsers rather than simulated requests.
  • Protocol coverage across HTTP, WebSocket, Socket.io, gRPC, and Kinesis.
  • Workload modeling with request chains, multiple steps, and transactions to emulate complex user behaviour.
  • More than twenty integrations for monitoring, observability, and CI/CD, including OpenTelemetry, reflected in the opentelemetry and otel topics.
  • A plugin API that allows the engine to be extended and customized.
  • Execution from any Node.js module, so tests can be embedded in existing JavaScript tooling.

Who uses it and how

  • AWS-centric teams that want distributed load without operating load generator hosts, deploying workers onto Lambda or Fargate instead.
  • Performance engineers validating single-page applications and other browser-heavy front ends, running Playwright-driven load through real headless browsers.
  • Platform and DevOps groups wiring load tests into CI/CD, using the CI/CD integrations to keep performance checks in the pipeline.
  • Teams running service meshes and streaming pipelines who need to exercise gRPC or Kinesis endpoints alongside REST and WebSocket traffic.
  • Observability-minded operators who export metrics and traces to their existing stack through the OpenTelemetry integration.

Getting started

The repository directs readers to the readme under packages/artillery and to the documentation at https://www.artillery.io, and the distributed execution path described in the README is to scale tests out on AWS Lambda or AWS Fargate, which requires no infrastructure to provision or manage.

How it compares

The facts provided do not name any commercial products that Artillery replaces, and they do not name comparable load testing tools either.

When to use it — and when not to

A self-hoster must be prepared to run tests locally or to hand execution to AWS, since the documented scale-out path depends on Lambda or Fargate rather than a self-managed cluster. Teams planning to run Artillery on Azure for commercial or production use should note that the Azure-specific modules are licensed under the BSL, not the MPL 2.0 that covers most of the repository, and that production use there requires a commercial licence. The README excerpt available here is short on installation and quickstart detail, and the project carries 487 open issues, so anyone evaluating it should check the documentation site and issue tracker rather than assume a frictionless setup.

project readme (upstream, from github) — read inline

Artillery

Docs | Discussions | @artilleryio

npm

Features

  • Test at cloud scale. Cloud-native distributed load testing at scale, out-of-the box and for free.
    • Scale out your load tests on top of AWS Lambda or AWS Fargate. No DevOps needed, zero infrastructure to set up or manage.
  • Test with Playwright. Load test with real headless browsers.
  • Batteries-included. 20+ integrations for monitoring, observability, and CICD.
  • Test anything. HTTP, WebSocket, Socket.io, gRPC, Kinesis, and more.
  • Powerful workload modeling. Emulate complex user behavior with request chains, multiple steps, transactions, and more.
  • Extensible & hackable. Artillery has a plugin API to allow extending and customization.

License

  • Most of the code in this repository is licensed under the terms of the MPL 2.0 license.
  • Some Azure-specific modules are licensed under the terms of the BSL license. See LICENSE-BSL.txt for details. You may use Artillery on Azure for evaluation and proof-of-concept purposes, but commercial and/or production usage requires a commercial license.

Learn more

Frequently asked questions

Is artillery free to use?

artillery is open source under the MPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does artillery do?

The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP API

What is artillery written in?

artillery is primarily written in TypeScript. Its source is publicly available at https://github.com/artilleryio/artillery, and it has 9,080 GitHub stars.