NATs Runner save ComponentSettings

Hi,
how do I get ComponentSettings to be saved to the hard drive?

When I use the SetComponentSettingsAsync method, it only updates the in-memory session value but doesn’t write it to the disk.
await session.SetComponentSettingsAsync(groupName, name, settings);

Hi @fauser !

That’s true when you set the Session’s component settings, it’s only changed in-memory.

To help you further, can you tell me how are you using the Runner today? How do you start Sessions?

How the Application Interacts with the OpenTAP Runner

1. Starting the Runner

When our application starts, it first checks whether the OpenTAP Runner is already running. If it is not running, the application starts it automatically using:

tap.exe runner start

2. Establishing a Connection to the Runner (Sessions)

For each test station, the application creates a dedicated communication channel to the Runner, referred to as a Session.

These Sessions are managed in a small connection pool so that new connections do not need to be created repeatedly, improving performance and reducing overhead.

3. Controlling Test Execution

Through these Sessions, the application can instruct the Runner to:

  • Load a test plan
  • Start execution
  • Pause and resume execution
  • Abort execution
  • Query the current execution status

4. Receiving Test Results

While the Runner is executing tests, it continuously streams information back to the application, including:

  • Test results
  • Log messages
  • Current execution status
  • Active test step information

The application receives this data and forwards it via NATS (our messaging system) to the GUI, allowing users to monitor test execution in real time.

Summary

The application acts as the orchestration layer of the system. It starts and manages the OpenTAP Runner, communicates with it through the official OpenTAP.Runner.Client interface, controls test plan execution, collects execution results, and distributes live updates to the GUI through NATS.

As a next step, we would also like to provide the ability to view and edit Test Plans, Bench and Component Settings etc. directly from the GUI, enabling users to manage the complete test configuration without leaving the application.

Hi @Dennis , from you comment I understand that this is the expected behavior. So is there a save method that is not mentioned in the Runner API? Thanks