XPress — System Overview¶
XPress is a hardware test automation framework by RX-Systems GmbH. It lets you write test instructions in plain English, run them automatically against physical hardware or a simulator, and get a structured pass/fail report — without writing low-level code.
The framework handles the full lifecycle: you author tests in the browser, execute them at the push of a button, and review detailed reports when they finish.
What Problem Does XPress Solve?¶
Testing embedded hardware typically requires connecting a device, sending specific signals, reading measurements back, and deciding whether the result is correct. Doing this manually is slow and error-prone. XPress automates this process:
- Test instructions are written in plain English — no specialist knowledge required.
- Each instruction is linked to a hardware action such as measuring a voltage, toggling a relay, or waiting for a signal.
- The system sends those actions to the connected test equipment, collects the responses, and marks each step as Passed, Failed, or Skipped.
- The same test suite can be run repeatedly by any member of the team and will always produce consistent, comparable results.
System Overview¶
flowchart TD
Tester(["Tester\n(Web Browser)"])
subgraph XPress["XPress Application Server"]
UI["XPressUI\nWeb Interface"]
Server["XPress Server\nTest Execution Engine"]
UI <--> Server
end
subgraph Bench["Test Bench"]
RI["Remote Interfaces\nMeasurement Equipment"]
DUT["Device Under Test"]
end
Tester --> UI
Server -- "commands & results" --> RI
RI -- "stimulate & measure" --> DUT
Components¶
XPressUI — The Web Interface¶
What you interact with every day.
Open http://localhost:8081 in your browser to access the XPressUI. It has five main sections:
| Section | What you do there |
|---|---|
| Test-Editor | Write features and scenarios; configure the hardware action for each test step |
| Test Suite | Group related scenarios together and launch a test run |
| Test Results | Open reports from completed runs; see which steps passed or failed |
| Artifacts | Browse custom files and data stored alongside your tests |
| Settings | Set the device name, tester name, and connection base path |
As a test runs, XPressUI shows you live progress directly in the browser — you always see what is happening without needing to refresh.
XPress Application Server — The Execution Engine¶
The XPress Application Server runs the entire system behind the scenes. You do not interact with it directly — it starts automatically when XPress is launched and manages everything for you:
- Stores all test cases, step definitions, and test suites.
- Executes a test suite when you press Run — working through each step in order.
- For each step, sends the corresponding action to the connected test equipment and evaluates the response.
- Marks each step Passed or Failed based on the result.
- Streams live progress to your browser as the run proceeds.
- Saves a complete HTML report when the run finishes.
Remote Interfaces — Measurement Equipment¶
Remote Interfaces are the measurement and stimulus instruments on your test bench — for example power supplies, relay boards, signal generators, or measurement modules. They are the equipment XPress uses to physically interact with the Device Under Test.
For command and integration details, see the Actions API.
The XPress Application Server sends commands to the Remote Interfaces during a test run. Each interface carries out the instructed action — such as applying a voltage, switching a relay, or reading a sensor value — and reports the result back to the server.
XPress supports connecting multiple Remote Interfaces at the same time, each identified by a unique name. Both wired network and direct serial connections are supported.
Device Under Test¶
The Device Under Test is the product or system being validated — the hardware your team has built. It is not directly controlled by XPress. Instead, the Remote Interfaces interact with it: they apply stimuli (power, signals, switching) and take measurements to verify that the device behaves as expected.
The results of those measurements flow back through the Remote Interfaces to the XPress Application Server, which evaluates whether each test step passed or failed.
How a Test Run Works¶
When you press Run on a test suite, XPress handles everything automatically:
- The server reads the test cases belonging to that suite.
- It works through each step in sequence.
- For each step, it sends the configured action to the appropriate Remote Interface (measurement equipment).
- The Remote Interface carries out the action — for example, applying a voltage or reading a signal — on the Device Under Test.
- The result is returned to the server, which evaluates whether the step Passed or Failed.
- Live progress is shown in your browser throughout the run.
- When all steps are complete, a detailed HTML report is saved and made available in Test Results.
Available Manuals¶
| Manual | Description |
|---|---|
| Quick Start | Launch XPress and run your first test |
| Features & Scenarios | Author and edit test cases |
| Action Types | Configure hardware automation steps |
| Test Suites | Create and execute test suites |
| Test Results | Review test run reports |
| Settings | Configure runtime parameters |