Skip to content

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.

Use this table to pick the right starting point.

Your situationBest engine choice
Starting fresh, want concise YAMLTaurus (native YAML executor)
Have existing JMeter .jmx filesJMeter (upload directly or wrap in Taurus)
Team writes JavaScript / TypeScript testsk6 (direct .js upload or Taurus executor: k6)
Have Gatling Scala simulation filesGatling (Taurus executor: gatling)
Have Locust Python locustfile.pyLocust (Taurus executor: locust)
Need real browser actions in a load testSelenium (Taurus executor: selenium)
Want to test HTTP APIs at high RPS with a simple toolApache Benchmark (executor: ab) or Siege (executor: siege)
Need flexible, scriptable HTTP load in PythonApiritif (executor: apiritif)
Need a Go-based HTTP benchmarking toolVegeta (executor: vegeta)
Large-scale Erlang/XMPP performance testingTsung (executor: tsung)
Molotov Python async scenariosMolotov (executor: molotov)
Java JUnit load testsJUnit (executor: junit)
Java TestNG load testsTestNG (executor: testng)
Node.js Mocha-style load testsMocha (executor: mocha)
WebdriverIO browser automation as loadwdio (executor: wdio)
Robot Framework keyword-driven testsRobot (executor: robot)

When you upload a test file and mark it as the entrypoint, MaxoPerf infers the engine automatically:

You uploadMaxoPerf infers
*.yaml or *.yml with executor: jmeterJMeter (via Taurus)
*.yaml or *.yml with executor: k6k6 (via Taurus)
*.yaml or *.yml (no executor: key)Taurus (native)
*.jmxJMeter (direct)
*.js or *.ts with k6 importsk6 (direct)
locustfile.py or .py with from locust importLocust (via Taurus)
*.scala with io.gatlingGatling (via Taurus)
*.robotRobot (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.

PageWhat you learn
Taurus fundamentalsYAML structure, execution block, scenarios, and how to upload to MaxoPerf
Taurus executor catalogAll 21 supported Taurus executors with MaxoPerf support notes
JMeter JMX on MaxoperfUploading .jmx files, thread-group tips, and JMeter-specific Maxoperf notes
k6 scripts on MaxoperfUploading k6 JavaScript, module patterns, and k6-specific Maxoperf notes
Gatling and LocustRunning Gatling Scala simulations and Locust Python tests via Taurus
Selenium browser testsRunning browser-driven tests as load with the Selenium executor
ProtocolsHTTP/REST, GraphQL, gRPC, WebSocket, and SOAP/XML load-testing patterns

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.

Last updated: