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

怎么上手

由 README 提炼,执行前请确认
npm install -g artillery
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 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,可扩展自定义功能

容易踩的坑

Azure 相关模块采用 BSL 许可,商业或生产使用需购买商业许可;README 未给出具体运行命令,需查阅 packages/artillery 子目录文档

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本artillery-2.0.34
  1. artillery-2.0.34Artillery v2.0.34最新正式版2026-08-14 · 2026-08-14 13:20 UTC

    New features

    Core & CLI
    • Add artillery ping command 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 artillery package 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-tags flag 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 $rewriteMetricName was silently ignored when the processor file was an ES module
    AWS Lambda & Fargate
    • The fake-data plugin 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
  2. 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-data plugin (#3745)
  3. 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.timeout was 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 with ERR_SOCKET_TIMEOUT regardless of the configured http.timeout value. #3730
    • Fix issue where Artillery commands could fail at startup with MODULE_NOT_FOUND errors for @smithy/node-config-provider and @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

  4. 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 with enabled, sampled, and traceIdPrefix fields). When enabled, Artillery adds a traceparent header 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 notifyOnFailureOnly option 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 npm dependencies (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.url alongside url.full, and http.method alongside http.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
  5. 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 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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