All 94 Dependencies
Every package Artillery depends on, ranked by repo health score.
Artillery is an open-source load testing and functional testing platform for Node.js. It ships as an `artillery` CLI (built on oclif) driven by declarative YAML test scripts that describe traffic phases (ramp-up, sustained load, spikes), weighted scenarios, and multi-step request chains. The core execution engine (`@artilleryio/int-core`) has built-in support for HTTP, WebSocket, and Socket.io protocols, and a dedicated Playwright engine drives real headless-browser sessions as first-class virtual users using the same script format.
What sets Artillery apart from most load testing tools is how it scales: rather than requiring you to provision and manage your own fleet of load-generator machines, the CLI can package and run distributed tests directly on AWS Lambda, AWS Fargate/ECS, or Azure Container Instances. There is no separate control plane or agent to install; `artillery run --platform` swaps out the execution backend for the same test script.
The project is structured as an npm workspaces monorepo of 17 packages, split into the CLI, the shared core runner, and independently versioned engines and plugins that are resolved by naming convention (`artillery-engine-<name>`, `artillery-plugin-<name>`). Official plugins add response assertions (`expect`), pass/fail thresholds (`ensure`), Apdex scoring, per-endpoint metrics, fake test data generation, memory inspection, and Slack notifications, while a `publish-metrics` plugin ships first-party integrations for CloudWatch, Datadog, Dynatrace, Mixpanel, New Relic, OpenTelemetry, Prometheus, and Splunk.
Most of the codebase is MPL-2.0 licensed and works fully self-hosted with no license key. Azure-specific modules are carved out under a separate Business Source License that restricts production use, and an optional plugin can report results to Artillery's hosted Artillery Cloud dashboard, but neither is required to use the tool.