Skip to Content
DocsReferenceEnginesEngines

Engines

What is an engine?

An Artillery engine provides actions which may be used in a virtual user scenario. For example, the built-in HTTP engine provides actions such as get, post, put, and delete for working with HTTP-based APIs. The WebSocket engine provides a send action for sending messages over a WebSocket connection. Each scenario is controlled by an engine, for example the following “Hello World” scenario for sending a message to a WebSocket endpoint:

- name: Send hello world engine: websocket flow: - send: 'hello world!'

If an engine isn’t specified, the http engine will be used by default.

Protocol and application-level logic

Engines are very flexible and aren’t limited to implementing protocols only. For example the built-in Playwright engine allows real headless browsers to be controlled via Playwright , and the artillery-engine-kinesis engine implements support for AWS Kinesis -specific operations.

Custom engines

Artillery has an engine interface for building custom engines.

Last updated on