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:
The ABAP Agent (
slabapcli.exeandwatcher.exe) is installed on a Windows VM. See Install WATCHER and SLABAPCLI.The ABAP addon is installed on your SAP systems. See Install the ABAP addon.
SCMON data collection is configured on QAS systems. See Configure your QAS systems to collect SCMON data.
Tosca is connected to SeaLights. See Connect Tosca to SeaLights.
You have a SeaLights agent token.
You have the SAP system connection details: hostnames, system numbers, client numbers, and RFC user credentials for both QAS and PRD.
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.
slabapcli.exe setup install.\slabapcli.exe setup installThis command takes no parameters.
Example
.\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.013This 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.tomlin the..\config directory.
Note: You cannot use the generated key on any other computer. Be sure to back up the config\config.toml file.
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.
slabapcli.exe sealights set.\slabapcli.exe sealights setThis command takes no parameters.
Example
.\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.Create RFC Destinations
Create an RFC Destination for each SAP system (QAS and PRD) that the agent needs to connect to.
Prerequisite: Run slabapcli sealights set before running rfc set. The automatic verification step requires a valid SeaLights token.
Creates or updates an RFC Destination for an SAP system. The username and password are entered interactively and stored encrypted.
slabapcli.exe rfc set --name <rfc> --hostname <hostname> --sysnr <sysnr> --client <client> --lang <language>.\slabapcli.exe rfc set --name <rfc> --hostname <hostname> --sysnr <sysnr> --client <client> --lang <language>--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
slabapcli.exe rfc set --name "S21" --hostname "vwsvtstsap13.tricentis.com" --sysnr "00" --client "100" --lang "EN".\slabapcli.exe rfc set --name 'S21' --hostname 'vwsvtstsap13.tricentis.com' --sysnr '00' --client '100' --lang 'EN'.\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 succeededCreate 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.
slabapcli.exe pipeline set --appname <app> --qas <rfc> --prd <rfc> [--name <name>] [--labid <labid>].\slabapcli.exe pipeline set --appname <app> --qas <rfc> --prd <rfc> [--name <name>] [--labid <labid>]--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).
Example: Create a pipeline using a QAS system
slabapcli.exe pipeline set --appname "ALM_Demo" --qas "S21" --prd "S23".\slabapcli.exe pipeline set --appname 'ALM_Demo' --qas 'S21' --prd 'S23'.\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.This writes the following entry to config.toml:
[[pipeline]]
name = "ALM_Demo-S21"
appname = "ALM_Demo"
qas = "S21"
prd = "S23"
labid = "S21 vwsvtstsap13.tricentis.com"
disablesetref = falseExample: 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:
[[pipeline]]
name = "ALM_Demo-S21"
appname = "ALM_Demo"
dev = "S21"
prd = "S23"
labid = "S21 vwsvtstsap13.tricentis.com"
disablesetref = falseRun 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.
slabapcli.exe buildmap run --pipeline <pipeline-name>.\slabapcli.exe buildmap run --pipeline <pipeline-name>--pipeline
Yes
The pipeline name (as shown in pipeline list).
Example
slabapcli.exe buildmap run --pipeline "HH_SLABAPCLI_170625".\slabapcli.exe buildmap run --pipeline 'HH_SLABAPCLI_170625'.\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.tomlThe agent creates a scheduled INIT_BUILD_MAP task that runs once only (two minutes from now) to create the Initial Build Map.
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.
slabapcli.exe footprints run --pipeline <pipeline-name>.\slabapcli.exe footprints run --pipeline <pipeline-name>--pipeline
Yes
The pipeline name (as shown in pipeline list).
Example
slabapcli.exe footprints run --pipeline "HH_SLABAPCLI_170625".\slabapcli.exe footprints run --pipeline 'HH_SLABAPCLI_170625'.\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.033This 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:
slabapcli.exe footprints stop --pipeline <pipeline-name>.\slabapcli.exe footprints stop --pipeline <pipeline-name>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.

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.

pipeline set command.Make sure you set the SeaLightsLabId parameter in the Tosca playlist configuration. Without it, test results will not be associated with your pipeline.
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
SeaLightsLabIdmatches your pipeline and that the Footprints task is running.

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.
slabapcli.exe buildmods run --pipeline <pipeline-name>.\slabapcli.exe buildmods run --pipeline <pipeline-name>--pipeline
Yes
The pipeline name (as shown in pipeline list).
Example
slabapcli.exe buildmods run --pipeline "HH_SLABAPCLI_170625".\slabapcli.exe buildmods run --pipeline 'HH_SLABAPCLI_170625'.\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.031This 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:
slabapcli.exe buildmods stop --pipeline <pipeline-name>.\slabapcli.exe buildmods stop --pipeline <pipeline-name>The agent is now fully configured. It will continuously monitor for code changes and collect test coverage data.
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
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?
Configuration settings -- advanced tuning options for the ABAP Agent.
Command-line interface -- full reference for all CLI commands.
Last updated
Was this helpful?

