Customer Onboarding for Automation

A step-by-step guide for setting up SeaLights continuous test optimization for ABAP with Tosca automation tests in a production SAP landscape.

This guide walks you through setting up SeaLights for continuous test optimization in a production SAP landscape using Tosca automation tests. By the end of this guide the agent will be fully configured to automatically detect code changes and optimize test execution.

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 RFC Destinations

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 the full test suite in Tosca

Run your full suite of 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

Enable continuous Build Modifications monitoring

Configure the agent to continuously monitor the QAS system for transports. From this point on, the agent will automatically create a Build Modification in SeaLights whenever a transport is imported into the QAS system.

Configures the agent to monitor a pipeline's QAS system for Build Modifications. The agent creates Build Modifications from changes you make by importing transports into the pipeline's QAS system.

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

--pipeline

Yes

The pipeline name (as shown in pipeline list).

Example

Command
slabapcli.exe buildmods run --pipeline "HH_SLABAPCLI_170625"
Expected output (PowerShell)
.\slabapcli.exe buildmods run --pipeline 'HH_SLABAPCLI_170625'
[2025-06-18 09:24:49.485+01:00] [info] Current ANSI Code Page: 65001 (UTF-8) (65001)
[2025-06-18 09:24:49.486+01:00] [info] Config pathname: ../config/config.toml
[2025-06-18 09:24:49.516+01:00] [info] Total time: 00:00:00.031

This command creates a BUILD_MODS scheduled task that runs every five minutes to create Build Modifications from transports imported into the pipeline's QAS system.

To stop monitoring, run:

Stop command
slabapcli.exe buildmods stop --pipeline <pipeline-name>
13

Ongoing operation

From this point on, run your tests in Tosca with the SeaLights integration enabled. SeaLights will automatically recommend which tests to skip based on the code changes detected by the agent.

After each transport import, the agent creates a Build Modification within five minutes. Subsequent test runs will only execute tests impacted by the changes.

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?

Last updated

Was this helpful?