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:latestBalena (Embedded)#
For dedicated test stations using Raspberry Pi or similar embedded devices:
- Create a Balena fleet for your test stations
- Push test-runner to your fleet
- 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
Menu Structure#
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
Menu Controls#
| Control | Icon | Function |
|---|---|---|
| Toggle Menu | Hamburger | Show or hide the sidebar navigation |
| Testing View | Test tube | Start/cancel tests and view currently running test results |
| Past Runs | List | Access historical test data and review past test results |
| Settings | Gear | Select test plans, manage users, and configure preferences |
| Restart | Cycle | Soft restart of Docker/Balena containers |
| Reboot | Power | Hard reboot—completely restarts the test system |
| Logout | Exit | Sign 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#
- Usage Guide - Getting started and running tests
- Configuration - Settings and user management
- Barcode Commands - Barcode navigation reference
- Troubleshooting - Common issues and solutions