artilleryio / artillery

The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module.
https://www.artillery.io
Mozilla Public License 2.0
8.05k stars 511 forks source link

refactor: make the Launcher abstraction less opinionated #3273

Closed hassy closed 3 months ago

hassy commented 4 months ago

Description

After these changes the Launcher class will delegate more of how a test is run down to the actual implementation of the runtime platform (e.g. local, AWS Lambda, AWS ECS or something else).

It will no longer manage workers directly via createWorker(), prepareWorker() etc.

The only concerns handled in Launcher now are to:

These changes make it easier to implement support for new platforms and to move the existing AWS ECS implementation over to use the Launcher abstraction.

Pre-merge checklist

This is for use by the Artillery team. Please leave this in if you're contributing to Artillery.