New run:lambda
command
Tests can now be run on AWS Lambda with the new run:lambda
command. (Running tests on AWS Lambda with run --platform aws:lambda
will continue working as expected too).
The new command makes running tests on AWS Lambda less verbose and more clear, for example:
artillery run:lambda --region eu-west-1 my-script.yml
Rather than:
artillery run --platform aws:lambda --platform-opt region=eu-west-1 my-script.yml
JMESPath expectations
The expect
plugin can now evaluate JMESPath expressions as checks. If the expression evaluates to a truthy value, the check will pass. For example:
- get:
url: "/foo/1234"
expect:
jmespath: "title != null"
More flexibility in metrics-by-endpoint
reporting
Two new configuration options are now available to help reduce the number of unique metrics produced by by larger & more complex test suites:
stripQueryString
- ignore all query strings on a URL for purposes of reporting its metrics, i.e./foo?bar=1
and/foo?baz=2
will be reported as the same/foo
endpoint- and
ignoreUnnamedRequests
- ignore any requests that don't have aname
attribute set explicitly
Other fixes & improvements
- A custom role may be set for AWS Lambda workers with
--lambda-role-arn
flag forrun:lambda
command