Running Locally
You can run any test plan from the command line with no backend or GUI. This is the fastest way to develop and debug a plan.
Run
From the plan directory (where config.yml lives):
pytest -p f3ts-p f3ts loads the plugin. Useful options:
--f3ts_config=path/to/config.yml— use a config file other than./config.yml.-s— allow terminal input, required if your tests useuser_dialog.--skip-summary— skip the end-of-run summary table (see the gotcha below).
What you'll see
- Two backend warnings. Offline, the plugin tries to reach a backend, fails, and falls back to local mode:textThese are expected, not errors.
WARNING: Unable to connect to backend API ... Invalid URL 'None/runs/DEV': No scheme supplied. - A
Test ID:section per test, printing the result object (limits, measurement, pass/fail). - A summary table at the end:text
======================= FixturFab Test Runner Summary ======================= Test ID Test Name Description Min Limit Measurement Max Limit Passed Duration (s) 1.1 test_5v0_rail 5V0 rail within tolerance 4.9 5.01 5.1 True 0.00047
Suppressing the summary table
The summary table renders at the end of every offline run. It uses your console width when stdout is an interactive terminal and falls back to a default width when output is piped or captured (pytest -p f3ts | tee run.log, CI runners), so it prints cleanly either way.
Pass --skip-summary if you'd rather suppress it — the per-test Test ID: results are still printed:
pytest -p f3ts --skip-summaryLogs
Result data is also recorded on each test's user_properties and is written into JUnit XML when you pass --junitxml=out.xml to pytest, so you can feed the results into other tooling.
Next
When you're ready to run under the operator GUI, see With the Test Runner, which covers registering the plan, slots, and live results.