Skip to content

Continuous Fuzzing

st fuzz generates and tests continuously until it finds a failure, you stop it, or a time limit is reached. Use it when you want to dedicate a time window to fuzzing rather than running a bounded test suite.

st fuzz https://example.schemathesis.io/openapi.json

Without --max-time, this runs until the first failure or Ctrl+C.

st fuzz https://example.schemathesis.io/openapi.json --max-time 3600

--max-time stops fuzzing after the specified number of seconds.

Finding more failures per session

By default, st fuzz stops on the first failure. Add --continue-on-failure to keep testing past failures — useful for longer sessions where you want to surface as many distinct issues as possible in one run:

st fuzz https://example.schemathesis.io/openapi.json \
  --max-time 3600 \
  --continue-on-failure

Saving results

st fuzz https://example.schemathesis.io/openapi.json \
  --max-time 3600 \
  --report junit

All report formats are supported: junit, vcr, har, ndjson, allure.

When to use st fuzz vs st run

Use st run when you want a test run that exits on completion - CI checks, PR gates, scheduled regression runs.

Use st fuzz when you want fuzzing to keep going: overnight sessions, dedicated fuzzing pipelines, or any context where longer execution is likely to find more bugs.