POC Onboarding for Automation

A step-by-step guide for running a proof-of-concept demo that shows how SeaLights identifies impacted tests after a known transport is imported.

This guide walks you through a proof-of-concept demo of SeaLights Test Optimization for ABAP with Tosca automation tests. By the end of this guide you will have demonstrated that SeaLights correctly identifies which tests are impacted by a specific code change.

Prerequisites

Before you begin, make sure the following are in place:

1

Set up the agent

Initialize the ABAP agent on the machine where it is installed. This generates the encryption key and default configuration file.

Initializes the ABAP agent by generating a machine-locked symmetric key and creating a default configuration file.

Syntax
slabapcli.exe setup install

This command takes no parameters.

Example

Expected output (PowerShell)
.\slabapcli.exe setup install
[2025-06-17 08:15:56.388+01:00] [info] Current ANSI Code Page: 65001 (UTF-8) (65001)
[2025-06-17 08:15:56.389+01:00] [info] Config pathname: ../config/config.toml
[2025-06-17 08:15:56.389+01:00] [info] Install default config
[2025-06-17 08:15:56.392+01:00] [info] Installed default config
[2025-06-17 08:15:56.395+01:00] [info] Install symmetric key
[2025-06-17 08:15:56.395+01:00] [info] Create symmetric key
[2025-06-17 08:15:56.398+01:00] [info] Created symmetric key
[2025-06-17 08:15:56.399+01:00] [info] Create IV
[2025-06-17 08:15:56.399+01:00] [info] Created IV
[2025-06-17 08:15:56.400+01:00] [info] Installed symmetric key
[2025-06-17 08:15:56.401+01:00] [info] Install Windows Error Reporting
[2025-06-17 08:15:56.401+01:00] [info] Installed Windows Error Reporting
[2025-06-17 08:15:56.401+01:00] [info] Total time: 00:00:00.013

This command does the following:

  • It generates a machine-locked symmetric key used to protect secrets, including RFC Destination usernames and passwords, and the SeaLights agent ID.

  • It creates a default configuration file named config.toml in the ..\config directory.

2

Connect to SeaLights

Store your SeaLights agent token in the encrypted configuration so the agent can communicate with the SeaLights platform.

Connects the ABAP agent to your SeaLights environment by storing your agent token in the encrypted configuration.

Syntax
slabapcli.exe sealights set

This command takes no parameters.

Example

Expected output (PowerShell)
.\slabapcli.exe sealights set
[2026-04-21 08:51:38.306+01:00] [info] Config pathname: ..\config\config.toml
Enter token:
Confirm token:
Token accepted (a3f***...***d2b).
Running 'sealights test' to verify the new token...
[2026-04-21 08:51:47.710+01:00] [info] Test SeaLights: customer.sealights.io
  Agent token is valid.
  Sealights connectivity check succeeded.

The token and confirmation are not displayed in the terminal window for security. Use Ctrl+V to paste your token, then press Enter. The command automatically runs sealights test to verify the token.

3

Create an RFC Destination

Create an RFC Destination for each SAP system (QAS and PRD) that the agent needs to connect to.

Creates or updates an RFC Destination for an SAP system. The username and password are entered interactively and stored encrypted.

Syntax
slabapcli.exe rfc set --name <rfc> --hostname <hostname> --sysnr <sysnr> --client <client> --lang <language>
Parameter
Required
Description

--name

Yes

RFC Destination name (e.g. S21).

--hostname

Yes

SAP system hostname.

--sysnr

Yes

SAP system number (instance number).

--client

Yes

SAP client number.

--lang

Yes

SAP login language (e.g. EN).

Example

Command
slabapcli.exe rfc set --name "S21" --hostname "vwsvtstsap13.tricentis.com" --sysnr "00" --client "100" --lang "EN"
Expected output (PowerShell, abbreviated)
.\slabapcli.exe rfc set --name 'S21' --hostname 'vwsvtstsap13.tricentis.com' --sysnr '00' --client '100' --lang 'EN'
[2026-05-07 11:37:08.572+01:00] [info] Config pathname: ..\config\config.toml
Enter username: hunterh
Enter password:
Confirm password:
Password accepted (a3f***...***d2b).
Running 'rfc test --name S21' to verify the new RFC destination...
[2026-05-07 11:37:15.910+01:00] [info] Testing rfc: S21
  Connected
  System info:
    RFCDBHOST: sapqas01
    RFCSYSID: S21
    RFCIPADDR: 10.0.1.50
    RFCKERNRL: 753
    RFCSAPRL: 750
  SeaLights ABAP add-on:
    Installed
  SeaLights ABAP add-on version:
    Installed version: RELEASE=2025_01 EXTRELEASE=0012 (minimum supported ...)
  Time synchronization:
    ...
  RFC function modules:
    All required RFC function modules callable
  Tables:
    All required tables readable
  SCMON Configuration:
    ...
    SCMON is running and configured to stay active until 2027-12-31
  SCMON_COLLECT callability:
    SCMON_COLLECT call succeeded

The password and confirmation are not displayed in the terminal window for security. The command automatically runs rfc test after saving the RFC Destination.

Repeat this command for every SAP system the pipeline will use (for example, once for QAS and once for PRD).

4

Create a pipeline

Link your QAS and Production systems to a SeaLights application by creating a pipeline.

Creates a pipeline that links a QAS (or DEV) and Production system in your SAP landscape to a SeaLights application.

Syntax
slabapcli.exe pipeline set --appname <app> --qas <rfc> --prd <rfc> [--name <name>] [--labid <labid>]
Parameter
Required
Description

--appname

Yes

The SeaLights application name to associate with this pipeline.

--qas

One of --qas or --dev

The QAS RFC Destination name.

--dev

One of --qas or --dev

The DEV RFC Destination name. Use this instead of --qas when your source system is a DEV system. The key is stored as dev in the config file and is not normalized to qas.

--prd

Yes

The PRD RFC Destination name.

--name

No

A custom name for the pipeline. If omitted, the name is auto-generated as <appname>-<qas> (for example, myapp-S21). Allowed characters: A-Za-z0-9._-

--labid

No

The lab ID for this pipeline. If omitted, it is auto-generated as <QAS SID> <QAS RFC hostname> (for example, S21 vwsvtstsap13.tricentis.com).

Multiple pipelines can share the same --appname. Each pipeline's name must be unique — the auto-generated name (appname-qas) ensures this when pipelines use different QAS systems.

Example: Create a pipeline using a QAS system

Command
slabapcli.exe pipeline set --appname "ALM_Demo" --qas "S21" --prd "S23"
Expected output (PowerShell)
.\slabapcli.exe pipeline set --appname 'ALM_Demo' --qas 'S21' --prd 'S23'
[2026-03-08 10:33:36.956+02:00] [info] Detected Windows version: Windows 11
[2026-03-08 10:33:36.957+02:00] [info] Config pathname: ../config/config.toml
[2026-03-08 10:33:37.012+02:00] [info] Pipeline 'ALM_Demo-S21' has been created in '../config/config.toml'. Use this name with the buildmap, footprints, and buildmods commands.

If a pipeline with the same name already exists, the command updates it and prints has been updated instead of has been created.

This writes the following entry to config.toml:

config.toml
[[pipeline]]
  name = "ALM_Demo-S21"
  appname = "ALM_Demo"
  qas = "S21"
  prd = "S23"
  labid = "S21 vwsvtstsap13.tricentis.com"
  disablesetref = false

Example: Create a pipeline using a DEV system

This writes the following entry to config.toml. Note that the key is stored as dev, not qas:

config.toml
[[pipeline]]
  name = "ALM_Demo-S21"
  appname = "ALM_Demo"
  dev = "S21"
  prd = "S23"
  labid = "S21 vwsvtstsap13.tricentis.com"
  disablesetref = false
5

Run the Initial Build Map

Create an Initial Build Map for the pipeline. This scans the QAS system for all ABAP code components that are in use in Production and sends them to SeaLights.

Creates an Initial Build Map for a pipeline. The build map is a snapshot of the standard and custom ABAP code components in the pipeline's QAS system (and their related objects), based on usage data from the pipeline's Production system.

Syntax
slabapcli.exe buildmap run --pipeline <pipeline-name>
Parameter
Required
Description

--pipeline

Yes

The pipeline name (as shown in pipeline list).

Example

Command
slabapcli.exe buildmap run --pipeline "HH_SLABAPCLI_170625"
Expected output (PowerShell)
.\slabapcli.exe buildmap run --pipeline 'HH_SLABAPCLI_170625'
[2025-06-17 15:28:19.807+01:00] [info] Current ANSI Code Page: 65001 (UTF-8) (65001)
[2025-06-17 15:28:19.807+01:00] [info] Config pathname: ../config/config.toml

The agent creates a scheduled INIT_BUILD_MAP task that runs once only (two minutes from now) to create the Initial Build Map.

You can also create an Initial Build Map directly by running watcher.exe INIT_BUILD_MAP --pipeline <pipeline-name> from the command line.

The build map task runs two minutes after you issue this command. Wait for it to complete before proceeding.

6

Start collecting Footprints

Enable the agent to collect Footprints data. When a test runs, the agent matches the ABAP components that were executed against objects in the latest build and sends this data to SeaLights.

Configures the agent to collect Footprints data for a pipeline. When you run a test, the agent matches the ABAP components that you executed against objects in the latest Build Modification and sends this data to SeaLights as a Footprint.

Syntax
slabapcli.exe footprints run --pipeline <pipeline-name>
Parameter
Required
Description

--pipeline

Yes

The pipeline name (as shown in pipeline list).

Example

Command
slabapcli.exe footprints run --pipeline "HH_SLABAPCLI_170625"
Expected output (PowerShell)
.\slabapcli.exe footprints run --pipeline 'HH_SLABAPCLI_170625'
[2025-06-18 15:07:58.337+01:00] [info] Current ANSI Code Page: 65001 (UTF-8) (65001)
[2025-06-18 15:07:58.337+01:00] [info] Config pathname: ../config/config.toml
[2025-06-18 15:07:58.341+01:00] [info] resource = footprints. command = run
[2025-06-18 15:07:58.341+01:00] [info] pipline: HH_SLABAPCLI_170625
[2025-06-18 15:07:58.370+01:00] [info] Run scheduled daily. interval = 5m. duration = 1d
[2025-06-18 15:07:58.370+01:00] [info] Total time: 00:00:00.033

This command creates a FOOTPRINTS scheduled task that runs every five minutes to collect Footprints data and send it to SeaLights.

To stop collecting Footprints data, run:

Stop command
slabapcli.exe footprints stop --pipeline <pipeline-name>
7

Observe the build in the SeaLights dashboard

Open the SeaLights dashboard and verify that your application appears with the initial build.

You should see:

  • Your application listed with a build named after the pipeline.

  • The build status shows as completed.

SeaLights dashboard showing the application with the initial build.
The application appears in the SeaLights dashboard after the Initial Build Map completes.
8

Run tests in Tosca

Run your automation tests in Tosca. Make sure the Tosca playlist is configured with the correct SeaLightsLabId so the test execution is associated with your pipeline.

See Run a Test in Tosca for detailed configuration instructions.

Tosca Cloud playlist configuration showing SeaLightsLabId parameter.
Set SeaLightsLabId to the lab ID configured in the pipeline set command.
9

Wait for SeaLights to process the results

Wait approximately 2 minutes for SeaLights to process the Footprints data from the test execution.

10

Observe coverage in the SeaLights dashboard

Open the SeaLights Coverage Report for your application. Verify that the ABAP components exercised by your tests are showing as covered.

You should see:

  • The ABAP components (Programs, Functions, Classes) that your tests exercised listed as covered.

  • If no coverage appears, verify that the SeaLightsLabId matches your pipeline and that the Footprints task is running.

SeaLights Coverage Report showing covered ABAP components.
The Coverage Report shows which ABAP components are covered by Tosca tests.
11

Enable Test Optimization (TIA)

Enable Test Optimization for your application in the SeaLights dashboard. This tells SeaLights to recommend only the tests impacted by code changes instead of the full test suite.

12

Import the transport using the watcher

Use the watcher to process the specific transport that contains the known code changes. This creates a Build Modification in SeaLights that represents the code change.

Triggers a single build modification for a specific transport. Use this to validate your pipeline setup before enabling continuous monitoring with slabapcli buildmods run.

Syntax
watcher.exe BUILD_MODS <pipeline-name> --transport_num <TRANSPORT_NUMBER>
Parameter
Required
Description

<pipeline-name>

Yes

The pipeline name (as shown in pipeline list).

--transport_num

Yes

The transport number to process (e.g. EH4K901492).

Example

Command
watcher.exe BUILD_MODS "MyApp-Q40" --transport_num "EH4K901492"
Expected output (PowerShell)
.\watcher.exe BUILD_MODS 'MyApp-Q40' --transport_num 'EH4K901492'
[2026-03-08 14:22:15.102+02:00] [info] Log level: info
[2026-03-08 14:22:15.103+02:00] [info] Current ANSI Code Page: 1252
[2026-03-08 14:22:15.103+02:00] [info] Current version: '1.2.0'
[2026-03-08 14:22:15.347+02:00] [info] Retrieving the last import of the transport with a transport num 'EH4K901492' from the RFC destination 'Q40'
[2026-03-08 14:22:16.891+02:00] [info] Found 1 transports
[2026-03-08 14:22:16.892+02:00] [info] Populating 'IMPORTED_OBJECTS' and 'DELETED_OBJS' table
[2026-03-08 14:22:17.204+02:00] [info] Table IMPORTED_OBJECTS populated successfully
[2026-03-08 14:22:17.205+02:00] [info] Populating IMPORTED_TRANSPORTS table
[2026-03-08 14:22:17.318+02:00] [info] Table IMPORTED_TRANSPORTS populated successfully
[2026-03-08 14:22:17.319+02:00] [info] Reading TMDIR table
[2026-03-08 14:22:18.540+02:00] [info] TMDIR table read successfully.
[2026-03-08 14:22:18.541+02:00] [info] Reading TFDIR table
[2026-03-08 14:22:19.103+02:00] [info] TFDIR table read successfully.
[2026-03-08 14:22:19.104+02:00] [info] Reading TADIR table
[2026-03-08 14:22:20.672+02:00] [info] TADIR table read successfully.
[2026-03-08 14:22:20.673+02:00] [info] Reading WBCROSSGT table
[2026-03-08 14:22:21.890+02:00] [info] WBCROSSGT table read successfully.
[2026-03-08 14:22:21.891+02:00] [info] Reading WBCROSSI table
[2026-03-08 14:22:22.754+02:00] [info] WBCROSSGI table read successfully.
[2026-03-08 14:22:22.755+02:00] [info] Creating table OBJS_DEVCLASSES
[2026-03-08 14:22:22.801+02:00] [info] Table OBJS_DEVCLASSES created successfully
[2026-03-08 14:22:22.802+02:00] [info] Creating tables TABL_PROG_XREFS, TABL_FUGR_XREFS, TABL_CLAS_XREFS
[2026-03-08 14:22:23.114+02:00] [info] Tables TABL_PROG_XREFS, TABL_FUGR_XREFS, TABL_CLAS_XREFS created successfully
[2026-03-08 14:22:23.245+02:00] [info] Serializing data for build modifications with the transport num 'EH4K901492'
[2026-03-08 14:22:24.012+02:00] [info] Build session for the transport num 'EH4K901492' opened successfully. Session ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
[2026-03-08 14:22:26.478+02:00] [info] Build mods for the transport num 'EH4K901492', imported at 2026-03-08 12:15:30 created successfully
[2026-03-08 14:22:26.891+02:00] [info] Build session 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' closed successfully
[2026-03-08 14:22:26.892+02:00] [info] Ping sender stopped.
Total time: 00:00:11.790
13

Re-run the tests in Tosca

Run the same tests in Tosca again. With Test Optimization enabled, SeaLights will recommend only the tests that are impacted by the code change in the transport. Observe that only the expected impacted tests actually run.

14

Observe the Test Optimization results

Open the SeaLights Test Optimization screen for your application.

You should see:

  • Only the tests impacted by the transport's code changes were executed.

  • The Recommended Tests column shows which tests SeaLights selected.

  • The code-to-test mapping shows the relationship between the transported code changes and the tests that cover them.

Troubleshooting

Problem
What to check

No application in the dashboard after the build map completes

Check the watcher logs for errors. Verify RFC connectivity by running slabapcli rfc test --name <rfc>.

No coverage after running tests

Verify that SeaLightsLabId in the Tosca playlist matches the lab ID from pipeline set. Confirm the Footprints task is running (footprints run). Wait at least 2 minutes for processing.

Tests are not being skipped after enabling TIA

Verify SeaLightsOptimization is set to true in the Tosca playlist. Confirm that a Build Modification exists for the transport (check the SeaLights dashboard).

For additional help, see Troubleshooting the ABAP Agent.

What's next?

The POC demo is complete. If the customer is satisfied with the results, proceed to the Customer Onboarding for Automation guide to set up continuous test optimization.

Last updated

Was this helpful?