Changelog
Feature updates and improvements to Artillery.
Artillery will now aim to release a new CLI version every first and third Monday of each month, when possible.
Artillery Cloud
- Fix bug causing only one of the links to worker logs to be displayed in Artillery Dashboard
Playwright
- Update Playwright version used by Artillery to v1.41.0 - Documentation
- Add support for configuring Playwright’s
testIdAttribute
setting - Documentation
- Add INP to core web vital metrics reported by Artillery - Documentation
- Enable
headless
mode by default when running in Fargate, as headed mode is not compatible with Fargate
Fargate
- Improve Fargate startup logic to prevent bug where workers would hang
- Fix bug where Fargate tests running on Windows would crash trying to resolve paths to dependencies in folders
- Set default bucket lifecycle policy for S3 bucket containing artifacts from test runs - Documentation
- Set default retention policy (180 days) on Cloudwatch Logs generated during runs, with override possible - Documentation
- Add support for running using Fargate Spot by using the
--spot
flag - Documentation
Lambda
- Fix Lambda bundle size issue preventing all Lambda tests from running
- Add default bucket lifecycle policy (2-7 days retention) for S3 bucket containing artifacts from test runs - Documentation
CLI & Core
- Fix
$randomString(length)
utility to return correct number of characters and allow length larger than 10
Publish Metrics
- Fix bug in Fargate tests where traces sent with OpenTelemetry reporter would not arrive or arrive inconsistently formatted to observability platforms
- Add tracing support for the Datadog, New Relic and Dynatrace reporters using OpenTelemetry
- Improve traces sent via Honeycomb reporter to be proper traces with full metadata, exceptions, events, etc
The load test summary view will now calculate and display Apdex scores for load tests that make use the built-in apdex
plugin.
Apdex (Application Performance Index) is an open standard for measuring performance of HTTP services. The Apdex score converts response times into a single score that reflects user satisfaction with the service.
Fixes & Improvements
App-wide
- Update colors to improve legibility and consistency
- Add exit animations for all dropdown-like elements
- Improve loading states on all buttons
- Improve consistency of dialogs everywhere
- Improve consistency of spacing between elements across the app
Main view
- Tweak the display of Artillery’s logo in the navbar
- Fix responsiveness on Load Tests view
- Improve UX for Saved Views and the Filter Bar with long input strings
- Match test run ID icon in filter dropdown to one used elsewhere
Load test view
- Make font sizes consistent in metadata panel
- Improve styling of text log view, JSON log view, and table components
- Fix issue with loading default CLI avatar images on notes
- Fix issue with scroll gradient covering first note in the notes list
- Improve spacing on Edit Note dialog
Charts
- Add intelligent X axis scaling depending on duration of the test
- Improve Y axis layout on Load Summary chart
AWS Fargate support
This release adds support for running tests on AWS Fargate. Scale out your load tests horizontally from any of the six supported regions.
artillery run-fargate --count 10 --region us-east-1 my-script.yml
Supported regions:
us-east-1
us-west-1
eu-west-1
eu-central-1
ap-south-1
ap-northeast-1
AWS Fargate is a serverless solution that requires no infrastructure to be managed, and unlike AWS Lambda does not impose a restriction on the duration of your load tests.
Artillery’s Playwright integration is fully supported on Fargate, to let you run browser-based load tests at scale with ease.
Playwright support
Playwright support is now built into Artillery. The integration in artillery-engine-playwright
is now bundled into the Artillery CLI.
- The version of Playwright used by the integration has been updated to v1.3.4
- Web Vitals tracking has been improved to provide more accurate measurements
- Playwright scenario file may now be loaded via
testFunction
attribute rather than flowFunction
flow
attribute may now be omitted in Playwright engine scenarios
Other fixes & improvements
- Pass
lambdaRoleArn
to AWS Lambda engine correctly
- Fix issue with returning matched groups from regexp capture
- Track & report downloaded data in HTTP tests via
http.downloaded_bytes
metric
- Environment variables may now be accessed through the special
$env
variable (the current way of accessing those via $processEnvironment
is still supported but will be deprecated in future)
- Dependency updates to address deprecation and security notices
We have released Artillery v2.0.0-28
, which adds support for AWS CloudWatch, and features a number of performance and stability improvements.
GitHub release page ›
Breaking changes
- AWS Lambda: the default IAM role and policy are now versioned. If you attached any custom permissions to the
artilleryio-default-lambda-role
role, you will need to re-attach it to the new artilleryio-default-lambda-role-20230116
role
- CLI: The
probe
command has been removed from the CLI. The functionality has been moved to the new Skytrace CLI
New features
- Add support for publishing test metrics to AWS CloudWatch
- HTTP - compressed responses (e.g.
gzip
) will be decompressed by default now. (Set gzip: false
to disable automatic decompression if required to improve performance.)
- CLI - suggest closest match if a command name is mistyped
AWS Lambda
- Print custom role ARN if provided
- Add versioning to default Lambda role and policy created for running tests
Fixes & improvements
- Fix arrival phases with
arrivalRate
and rampTo
set to 0
- Improve
rampTo
logic to result in more predictable and deterministic ramps
- Fix issue with
maxVusers
setting that would lead to unexpected number of VUs to be generated
- Fix wildcard message handling support in Socket.io
- Fix issue with setting some properties on the global
artillery
object
AWS Lambda
- Improve test startup logic: workers will wait for each other to be ready before kicking off the test run
- Fix some intermediate metrics not being flushed & reported
- Fix handling of
memory-size
and security-group-ids
options
Artillery CLI
New HTML reports
We have improved the layout and styling of reports generated with artillery report
.
--dotenv flag
You can now load environment variables from a file with the --dotenv
flag. Those env vars are available in Artillery scenarios through the $env
variable.
Dashboard
Visual polish
- Improved homepage responsiveness
- Updated load test table with new context tags and new flexible tags
- Updated context menus
- Updated header styling in load test view.
- New and improved selected tags filter bar
- Show loading skeletons while data is being fetched
CDK installer
We released an official AWS CDK-based installer for Artillery dashboard.
Artillery AWS CDK installer
Flexible deployment modes
The dashboard can now be deployed in more than one way to fit the exact requirements of your organization:
- As an internal-facing, inside a VPC. This is the default deployment mode, and it will require an existing VPN setup to access the app. TLS is optional with this setup.
- As a publig public-facing, which requires TLS with a pre-provisioned ACM certificate.
- Custom domain may be configured on top of the provisioned ALB DNS name.
GitHub Authentication
We added support for authentication through GitHub.
Artillery Probe
We have launched the first version of Artillery Probe, a smart and user-friendly HTTP client built into Artillery
- Send HTTP requests from the command line
- Send JSON, arbitrary request bodies, set custom headers, querystrings, forms, and more
- See request performance waterfalls
- Syntax highlighting for responses
- Query JSON responses with JMESPath
- Set expectations and checks on the command-line for quick acceptance testing and smoke testing
More details on our blog ›
Artillery Probe is available in the most recent release of Artillery:
npm install -g artillery@latest
Artillery CLI
- Improve validation of test scripts
- Add
wait
action to WebSocket scenarios
- Fix an issue with aggregating summary metrics under certain conditions
Detailed changelog for the CLI on GitHub releases page.
Dashboard
- Improve test status indicators
- Fix issue with tooltip positioning on metric charts
- Fix keyboard navigation in tag search dropdown
Website and Docs
- Typography & readability improvements