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.