Reference
Extensions & Plugins

Artillery Plugins

Overview

Artillery has support for plugins, which can add functionality and extend its built-in features. Plugins can hook into Artillery's internal APIs and extend its behavior with new capabilities.

Plugins are distributed as normal npm packages which are named with an artillery-plugin- prefix, e.g. artillery-plugin-expect.

Installing plugins

Plugins can be installed with npm, yarn or pnpm in the same way as any other Node.js module.

If Artillery is installed globally (i.e. with npm install -g artillery), plugins should be installed globally too:

npm install -g artillery-plugin-example

If Artillery is installed locally to a project (i.e. a directory with package.json in it), plugins should be installed as a normal dependency:

npm install -D artillery-plugin-example

Using plugins

Plugins need to be explicitly loaded in the test scripts via config.plugins.

For example, to load the functionality provided by artillery-plugin-example, add example under config.plugins:

config:
  target: 'https://service-foo.staging.corp.acme.digital'
  plugins:
    expect: {}

By convention, Artillery will try to load npm package with the name of artillery-plugin-example for that configuration.

In this example, we are not providing any configuration for the example plugin, but most plugins will allow for some configuration.