Skip to content

pytest-f3ts

Latest ReleasePyPI

pytest-f3ts is a pytest plugin for writing hardware functional tests — most commonly Printed Circuit Board Assembly (PCBA) tests run during manufacturing. You write an ordinary pytest test plan; the plugin turns each test and assertion into a pass/fail result with limits, IDs, and operator messages.

The same test plan runs in two places, unchanged:

  • Locally, from the command line, with results printed to your terminal — no backend or GUI required. Great for development and debugging.
  • On the FixturFab Test Runner, where an operator runs it from a GUI, results stream live, and runs are stored in a database.

You don't add special code to get reporting — loading the plugin (-p f3ts) is enough. Opt-in fixtures let a test actively interact with the runner (sub-results, operator dialogs, serial-number capture, status banners).

What a test looks like

python
from pytest_f3ts.utils import log_vars


def test_5v0_rail(interface, test_config, record_property):
    meas = interface.measure_rail("5v0")  # read the voltage from your hardware
    log_vars(record_property)             # record the measurement to the result log
    assert test_config.min_limit <= meas <= test_config.max_limit

with limits supplied by a config.yml:

yaml
test_name: "widget-controller-board"
runner_settings: {}
test_cases:
  test_5v0_rail:
    test_id: "1.1"
    description: "5V0 rail within tolerance"
    min_limit: 4.90
    max_limit: 5.10

Where to next

About FixturFab

pytest-f3ts is open-source software from FixturFab. You own the test process — the plan, the instruments, the results. FixturFab builds the hardware it runs on: bed-of-nails test fixtures you configure online, with pricing up front and delivery in 2-3 weeks.

When you're ready for the fixture, configure one in FixturFab Studio.