Start from a working manual procedure
Prove every address and write interactively first. Then encode the sequence using reads, writes, waits, expectations, conditions, loops, or reusable child scenarios. Dry run and validation expose the intended operations before the connection is touched.
Use data without copying the scenario
Run profiles and datasets supply parameters to the same scenario. This keeps the procedure reviewable while letting limits, setpoints, or device variants change per run.
- Structured scenario editor
- Lua for dynamic procedures
- JSON, JUnit, and HTML reports
- Baseline comparison and CLI exit codes
Keep write authority visible
Read-only profiles override automation. Write-capable runs show their declared effects and require the same connection ownership used by manual operations, preventing a background poller and a test from racing on the wire.