Skip to main content
Starts a QA.tech test run. Pass either a test plan or one or more individual test cases. With --wait, the command polls until completion and exits non-zero on failure.

Usage

You must provide either --test-plan or one or more --test-case flags - not both.

Options

Behavior

  • Without --wait - prints the run short ID and exits immediately.
  • With --wait - polls until COMPLETED, ERROR, or CANCELLED, then prints results.
  • Exit code is 1 if any test case ends as FAILED, 0 otherwise.
  • With --wait --json, progress logs go to stderr so stdout stays clean JSON.

Examples

Application overrides

--application-overrides redirects one or more applications to a different URL, saved environment, or build for this run. Same JSON shape as qatech chat --application-overrides - useful for testing preview deployments, tunnels from qatech tunnel, or any URL not configured as a saved environment.
The environment object accepts any of:

JSON output

The shape returned by qatech run --wait --json matches qatech status --json:
Key fields:
  • result - "PASSED" | "FAILED" | "SKIPPED" | null
  • runTestCases[].resultTitle - human-readable failure reason (null if passed)
  • runTestCases[].evaluationThought - agent’s reasoning about the result