Azure 相关模块采用 BSL 许可,商业或生产使用需购买商业许可;README 未给出具体运行命令,需查阅 packages/artillery 子目录文档
artillery
artilleryioMPL-2.0活跃维护基于 Node.js 的完整负载测试平台,支持 HTTP、GraphQL、WebSocket 和 Playwright 浏览器压测,可在 AWS Lambda 或 Fargate 上无服务器分布式运行。
The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module.
artillery-2.0.34发布于 2026-08-14 13:20 UTC9,119star +1 / 7 天576fork同步于 2026-11-10 23:31 UTC
用 Node.js 编写的负载测试平台,支持 HTTP、WebSocket、gRPC 和 Playwright 真实浏览器压测
基于 Node.js 的完整负载测试平台,支持 HTTP、GraphQL、WebSocket 和 Playwright 浏览器压测,可在 AWS Lambda 或 Fargate 上无服务器分布式运行。
核心能力
- 基于 AWS Lambda 或 Fargate 分布式压测,无需自建基础设施
- 用 Playwright 驱动真实无头浏览器做负载测试
- 支持 HTTP、WebSocket、Socket.io、gRPC、Kinesis 等协议
- 用请求链、多步骤和事务模拟复杂用户行为
- 提供插件 API,可扩展自定义功能
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
- artillery-2.0.34Artillery v2.0.34最新正式版2026-08-14 · 2026-08-14 13:20 UTC
New features
Core & CLI
- Add
artillery pingcommand for quick testing of HTTP endpoints. Sends a request to a URL and shows a performance breakdown (DNS/TCP/TLS/TTFB/download timings) and response headers. Supports expectations via--expect, JMESPath and Cheerio queries on the response body, custom headers, basic auth, JSON/form request bodies, and HTTP/2 (default) or HTTP/1.1 - Full support for ESM: in processors, plugins, engines and custom reporters, including modules that use top-level
await - TypeScript type definitions shipped with the
artillerypackage now model the full test script: all arrival phase kinds, scenarios for every built-in engine, capture/match, built-in plugin configs, and processor hook contracts.
AWS Lambda & Fargate
- Add
--aws-tagsflag to apply custom tags to AWS resources created for a test run (Fargate tasks, Lambda functions, SQS queues). Example:--aws-tags "team:perf,cost-center:1234"
Playwright
- Upgrade to Playwright v1.62.1
Fixes & improvements
Core & CLI
- Fix issue where tests using relative imports (e.g.
import x from './helpers.js') in processor code could fail to run - Fix issue where metric renaming via
$rewriteMetricNamewas silently ignored when the processor file was an ES module
AWS Lambda & Fargate
- The
fake-dataplugin is now bundled with the worker image. Previously workers downloaded it from the npm registry at test startup
Docker
- Scripts mounted into the official Docker image can now import dependencies bundled with Artillery, such as Playwright
Other changes
- Various dependency upgrades to address security advisories
- npm releases are now published via npm trusted publishing (OIDC) with provenance attestations
- Add
- artillery-2.0.33Artillery v2.0.332026-06-16 · 2026-06-16 15:22 UTC
查看更新说明
What's changed
- Upgrade to Playwright v1.61.0 (#3746)
- Replace Falso with Faker.js in
fake-dataplugin (#3745)
- artillery-2.0.32Artillery v2.0.322026-05-19 · 2026-05-19 12:46 UTC
查看更新说明
Artillery v2.0.32
What's Changed
New features
Playwright
- Upgrade to Playwright v1.60.0 #3737
Fixes & improvements
Core
- Fix issue where
http.timeoutwas silently capped at 8 seconds for slow origins. Requests against backends that took more than 8 seconds to send the first response byte would fail withERR_SOCKET_TIMEOUTregardless of the configuredhttp.timeoutvalue. #3730 - Fix issue where Artillery commands could fail at startup with
MODULE_NOT_FOUNDerrors for@smithy/node-config-providerand@smithy/config-resolver. #3736 #3735
AWS ECS/Fargate
- Fix issue where tests that depend on external npm modules could run with fewer VUs than configured due to undetected worker startup errors. #3739
Artillery Cloud
- Fix regression where errors from trace upload requests were not surfaced in the CLI output. #3734
- Improve reliability of sending metrics and events to Artillery Cloud. #3731
Other improvements & fixes
- Improved dependency detection for tests that use external npm modules. #3728
Dependencies
- Update OpenTelemetry exporter dependencies #3740
- Various dependency upgrades
with contributions from @maikefischer
- artillery-2.0.31Artillery v2.0.312026-04-24 · 2026-04-24 21:05 UTC
查看更新说明
New features
HTTP engine
- Add support for W3C Trace Context propagation on outgoing HTTP requests. Enable via
config.http.distributedTracing(boolean, or object withenabled,sampled, andtraceIdPrefixfields). When enabled, Artillery adds atraceparentheader to each request so backend traces can be correlated with the originating test. #3708
AWS Fargate
- Add CLI heartbeat mechanism for scenarios where the CLI exits abnormally (e.g. with
SIGKILL) and worker tasks continue running . Fargate worker tasks will now self-terminate if the CLI disappears for more than 180 seconds. #3705
Slack plugin
- Add
notifyOnFailureOnlyoption to only send a Slack notification when a test fails. #3714
Playwright
- Upgrade to Playwright v1.59.1 #3719
Fixes & improvements
AWS Lambda
- Fix issue where test data with
npmdependencies (for example, TypeScript scenarios that require external packages) could silently skip installation, causing the test to fail later with module-not-found errors. 18255919
Core
- Upgrade the HTTP engine to Got v14.6.6 (from Got v11). #3702 Potentially breaking change if your tests use hooks that access or modify Got internals.
Azure ACI
- Test artifacts in Blob Storage are now retained by default. To automatically remove old artifacts, configure a lifecycle management policy on the storage account. #3722
OpenTelemetry
- Upgrade the OpenTelemetry JS SDK to 2.x. Artillery now emits both the legacy and current semantic attribute names on spans (for example
http.urlalongsideurl.full, andhttp.methodalongsidehttp.request.method) so existing dashboards and queries continue to work. #3700
Other improvements & fixes
- Worker images used on AWS Fargate, Lambda and Azure ACI are now based on the official Docker Hardened Node.js image #3717
- Routine dependency upgrades to address CVEs #3723 #3701 #3721 #3704
- Add support for W3C Trace Context propagation on outgoing HTTP requests. Enable via
- artillery-2.0.30Artillery v2.0.302026-02-05 · 2026-02-05 09:41 UTC
查看更新说明
- Upgrade to Playwright v1.58.1 (#3692)
- Fix: ensure that when running tests on Fargate, the pre-packaged versions of Playwright / Artillery CLI are always used, and not reinstalled as dependencies. This fixes Playwright browser binary mismatch errors under some conditions. (#3693)
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。
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.