Skip to main content
FixturFab

test-runner

Docker and Balena-based test execution environment for production hardware testing. Deploy consistent test environments to production lines.

betaProduction test deployment

Features

Docker container for consistent test environment
Balena support for embedded test stations
Automatic test discovery and execution
Web interface for operator interaction
Result reporting and storage
Integration with FixturFab fixtures

test-runner packages pytest-f3ts tests into a deployable container for production test stations. It provides the runtime environment, operator interface, and result handling needed for manufacturing test deployment.

Overview#

Production testing requires more than test code:

  • Consistent environment across all test stations
  • Operator interface for test initiation and result display
  • Result handling including storage and reporting
  • Station management for configuration and updates

test-runner addresses these needs while keeping test development simple—you write standard pytest-f3ts tests, test-runner handles deployment.

Architecture#

┌─────────────────────────────────────────────────┐
│                  Test Station                    │
│  ┌───────────────────────────────────────────┐  │
│  │            test-runner container           │  │
│  │  ┌─────────────┐  ┌──────────────────┐   │  │
│  │  │   Web UI    │  │  pytest-f3ts     │   │  │
│  │  │  (operator) │  │  (test engine)   │   │  │
│  │  └─────────────┘  └──────────────────┘   │  │
│  │  ┌─────────────┐  ┌──────────────────┐   │  │
│  │  │   Result    │  │   Hardware       │   │  │
│  │  │   Storage   │  │   Interface      │   │  │
│  │  └─────────────┘  └──────────────────┘   │  │
│  └───────────────────────────────────────────┘  │
│                        │                         │
│               ┌────────┴────────┐               │
│               │  Test Fixture   │               │
│               │  (FixturFab)    │               │
│               └─────────────────┘               │
└─────────────────────────────────────────────────┘

Deployment Options#

Docker (Standard)#

For test stations running a standard Linux environment:

docker run -d \
  --name test-runner \
  --privileged \
  -v /dev:/dev \
  -v ./tests:/app/tests \
  -v ./config:/app/config \
  -v ./results:/app/results \
  -p 8080:8080 \
  fixturfab/test-runner:latest

Balena (Embedded)#

For dedicated test stations using Raspberry Pi or similar embedded devices:

  1. Create a Balena fleet for your test stations
  2. Push test-runner to your fleet
  3. Configure via Balena dashboard

Benefits of Balena deployment:

  • Over-the-air updates for tests and configuration
  • Fleet management for multiple stations
  • Offline operation with sync when connected

The interface features a menubar divided into two main sections:

Top Section: Links for running tests, viewing results, and adjusting settings

Bottom Section: Buttons for system restart or user logout

ControlIconFunction
Toggle MenuHamburgerShow or hide the sidebar navigation
Testing ViewTest tubeStart/cancel tests and view currently running test results
Past RunsListAccess historical test data and review past test results
SettingsGearSelect test plans, manage users, and configure preferences
RestartCycleSoft restart of Docker/Balena containers
RebootPowerHard reboot—completely restarts the test system
LogoutExitSign out and return to the login screen

Result Storage#

Results are stored locally and can be synced to:

  • FixturFab cloud (for test analytics)
  • Your own database via webhook
  • Network file share

Next Steps#

Documentation Pages

Related Projects

View all open source projects

Use with FixturFab Fixtures

Our open-source testing stack integrates seamlessly with FixturFab fixtures. Configure your fixture in Studio and get a matching pytest-f3ts configuration.