CLI Reference

The artillery CLI has several commands. Run artillery --help to see all of the available commands:

artillery --help

Usage: artillery [options] [command]


  run [options] <script>  Run a test script. Example: `artillery run benchmark.yml`
  quick [options] <url>   Run a quick test without writing a test script
  report <file>           Create a report from a JSON file created by "artillery run"
  convert <file>          Convert JSON to YAML and vice versa


  -h, --help     output usage information
  -V, --version  output the version number

To see detailed help on a specific artillery command, use the --help flag with that command, e.g. artillery run --help.


The run command is the one you're likely to use most frequently, and is the command that lets you run an Artillery test. To see all flags and parameters it supports, run artillery run --help:

  Usage: run [options] <script>

  Run a test script. Example: `artillery run benchmark.json`


    -h, --help                    output usage information
    -t, --target <url>            Set target URL
    -p, --payload <path>          Set payload file (CSV)
    -o, --output <path>           Set file to write stats to (will output to stdout by default)
    -k, --insecure                Allow insecure TLS connections, e.g. with a self-signed cert
    -e, --environment <name>      Specify the environment to be used
    -c, --config <path>           Load test config from a file
    --overrides <JSON>            Object describing parts of the test script to override (experimental)
    -v, --variables <definition>  Set variables for the test dynamically (JSON object)
    -q, --quiet                   Do not print anything to stdout


This option can be used to extract a config section into a separate file, and re-use it to run multiple scenarios.

# Reuse the same config to run two different scenarios:

artillery run --config common-config.yaml my-scenario.yaml
artillery run --config common-config.yaml another-scenario.yaml


This option can be used to override parts of the test script from the command line.

For example, we can override the phase definitions in the test script with:

artillery run --overrides '{"config": {"phases": [{"duration": 10, "arrivalRate": 1}]}}' script.yaml

Note: The argument must be valid JSON.


This option can be used to set or override scenario variables from the command line.

artillery run -v '{"color": ["red", "yellow", "blue"], "height":[120, 150, 200]}' test.yaml

Makes variables "color" and "height" available in scenarios, with values picked from the respective lists.


Use this command to run a quick test without needing to write any scenarios. Example:

artillery quick -d 60 -r 10 -k

Options for quick:

-d, --duration <seconds>     Set duration (in seconds)
-r, --rate <number>          Set arrival rate (per second)
-p, --payload <string>       Set payload (POST request body)
-t, --content-type <string>  Set content-type
-o, --output <string>        Set output filename
-k, --insecure               Turn off TLS certificate verification
-q, --quiet                  Turn on quiet mode