By engine — choosing and using your test engine
MaxoPerf runs load tests with open-source engines. Which engine you use determines the file format you upload, the executor MaxoPerf infers, and the kinds of scenarios you can express. This section gives you a decision guide plus a deep-dive page for every supported engine.
Before you start
Section titled “Before you start”- Read Test engines — Taurus, JMeter, and k6 for the high-level concept.
- If you already have test files, see Upload test files to bring them into MaxoPerf.
Engine decision guide
Section titled “Engine decision guide”Use this table to pick the right starting point.
| Your situation | Best engine choice |
|---|---|
| Starting fresh, want concise YAML | Taurus (native YAML executor) |
Have existing JMeter .jmx files | JMeter (upload directly or wrap in Taurus) |
| Team writes JavaScript / TypeScript tests | k6 (direct .js upload or Taurus executor: k6) |
| Have Gatling Scala simulation files | Gatling (Taurus executor: gatling) |
Have Locust Python locustfile.py | Locust (Taurus executor: locust) |
| Need real browser actions in a load test | Selenium (Taurus executor: selenium) |
| Want to test HTTP APIs at high RPS with a simple tool | Apache Benchmark (executor: ab) or Siege (executor: siege) |
| Need flexible, scriptable HTTP load in Python | Apiritif (executor: apiritif) |
| Need a Go-based HTTP benchmarking tool | Vegeta (executor: vegeta) |
| Large-scale Erlang/XMPP performance testing | Tsung (executor: tsung) |
| Molotov Python async scenarios | Molotov (executor: molotov) |
| Java JUnit load tests | JUnit (executor: junit) |
| Java TestNG load tests | TestNG (executor: testng) |
| Node.js Mocha-style load tests | Mocha (executor: mocha) |
| WebdriverIO browser automation as load | wdio (executor: wdio) |
| Robot Framework keyword-driven tests | Robot (executor: robot) |
How MaxoPerf infers the engine
Section titled “How MaxoPerf infers the engine”When you upload a test file and mark it as the entrypoint, MaxoPerf infers the engine automatically:
| You upload | MaxoPerf infers |
|---|---|
*.yaml or *.yml with executor: jmeter | JMeter (via Taurus) |
*.yaml or *.yml with executor: k6 | k6 (via Taurus) |
*.yaml or *.yml (no executor: key) | Taurus (native) |
*.jmx | JMeter (direct) |
*.js or *.ts with k6 imports | k6 (direct) |
locustfile.py or .py with from locust import | Locust (via Taurus) |
*.scala with io.gatling | Gatling (via Taurus) |
*.robot | Robot (via Taurus) |
Each test has exactly one entrypoint file. MaxoPerf validates it on upload and sets the engine badge on the test card. See Taurus fundamentals for the full Taurus YAML anatomy.
Pages in this section
Section titled “Pages in this section”| Page | What you learn |
|---|---|
| Taurus fundamentals | YAML structure, execution block, scenarios, and how to upload to MaxoPerf |
| Taurus executor catalog | All 21 supported Taurus executors with MaxoPerf support notes |
| JMeter JMX on Maxoperf | Uploading .jmx files, thread-group tips, and JMeter-specific Maxoperf notes |
| k6 scripts on Maxoperf | Uploading k6 JavaScript, module patterns, and k6-specific Maxoperf notes |
| Gatling and Locust | Running Gatling Scala simulations and Locust Python tests via Taurus |
| Selenium browser tests | Running browser-driven tests as load with the Selenium executor |
| Protocols | HTTP/REST, GraphQL, gRPC, WebSocket, and SOAP/XML load-testing patterns |
Do / don’t
Section titled “Do / don’t”Do:
- Use Taurus YAML as the wrapper even when your scenario is a JMX or k6 script — it gives you a single place to set VUs, duration, and ramp-up for MaxoPerf.
- Check the validation badge on the Files tab before running; a failed validation blocks the run.
- Keep entrypoint files small — reference supporting CSVs and module files as test assets.
Don’t:
- Mix two different executors in one Taurus YAML
execution:block — MaxoPerf rejects multi-executor YAMLs at upload time. - Embed secrets in uploaded files — use Manage test secrets instead.
Where to go next
Section titled “Where to go next”- Taurus fundamentals — start here if you are new to Taurus.
- Taurus executor catalog — exhaustive reference for every executor.
- Test types — combine your engine choice with the right load profile.
- Cookbook — step-by-step recipes for common scenarios.