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.