Synthetic User Monitoring in SAP Cloud ALM: how to configure an on-premise Selenium Runner
When configuring a Synthetic User Monitoring (SUM) Selenium Runner, two types of configurations are possible: Internet and On-Premise.
With the On-Premise option, a dedicated, local web driver infrastructure must be setup to host the different Selenium components.
Once the on-premise Selenium infrastructure is in place, the related endpoints must be exposed to the SUM Runner configuration.
The goal of this blog is to describe the steps needed to expose the On-Premise endpoint to the Synthetic User Monitoring application in SAP Cloud ALM.
We won’t go in details on how to install the Selenium Infrastructure, there are several options well documented in the web and Selenium provides samples docker images containing the minimal required elements to start.
Being an on-premise resource, the Selenium endpoint must be exposed to the (SAP Cloud ALM) SUM application using a Cloud Connector.
Below, the overall architecture.
Few prerequisites must be satisfied before starting with the configuration:
- Cloud Connector must be installed and available in the local network (same as the Selenium one)
- Access to the Cloud Connector Administration
- Access to the SAP Cloud ALM Subaccount
- Access to SUM configuration
Configuration activities can be summarised in the following steps:
- Retrieve Subaccount information from BTP cockpit
- Add the Subaccount to the Cloud Connector configuration
- Map Internal Selenium Endpoint to a Virtual Host in Cloud Connector
- Configure SUM Runner using On-Premise configuration
Retrieve Subaccount Information from BTP
This step is needed to get the necessary information for the configuration of the SAP Cloud Connector from the BTP Cockpit.
Select the Subaccount enabled for the “SAPCloudALM” entitlement, go the the “Overview” section and save the following information:
- Subaccount ID
Add the Subaccount to the Cloud Connector configuration
Now it’s time to configure the Cloud Connector.
From the Cloud Connector Administration, select the “Connector” section and click on the “Add Subaccount” button.
Use the information from the previous step to fill the mandatory fields in the “Add Subaccount” form:
It is always a good practice to provide a Location ID in case multiple Connectors must be connected to the same Subaccount.
The new subaccount is then added to the list of available ones in the Cloud Connector:
Check in the BTP Cockpit the visibility of the newly added Cloud Connector from the “Connectivity” => “Cloud Connectors” section:
Map Internal Selenium Endpoint to a Virtual Host in Cloud Connector
Now that the Subaccount is available in the Cloud Connector Administration, the On-Premise resources (local Selenium endpoint) can be mapped to a virtual host that will then be visible from the SAP Cloud ALM Subaccount. This Virtual Host will be used during the SUM Runner configuration.
In the example below a host named selenium-docker.demo-sap-cloud-alm.com on port 44499 will be used for the configuration.
The SUM Runner configuration only supports HTTPS endpoints! Selenium infrastructure must therefore be configured to support HTTPS using, for example, a reverse proxy. SAP Web Dispatcher can be used for this purpose.
Select the “Cloud To On-Premise” section and click on the + button:
Select “Non-SAP System” from he “Add system mapping” view and click “Next”.
Select the HTTPS protocol and click Next:
Add the internal https Selenium endpoint:
then the virtual one that will be visible from the SAP Cloud ALM subaccount
Uncheck the principal propagation and click next
Use the virtual host for the requests
After adding a description in the final step, the mapped host should be visible in the “Cloud To On-Premise” list:
Add the resource path for the virtual host and click on the “Save” button.
The path is now visible in the resource list:
The virtual host should be now visible from the BTP Cockpit in the Cloud Connectors area just below the “Exposed Back-End Systems” section:
Configure SUM Runner using on-premise configuration
Now that the virtual endpoint is exposed, the SUM Runner configuration can be executed.
Select the Synthetic User Monitoring Tile from the “SAP Cloud ALM for Operations” group in SAP Cloud ALM:
Click on the “Configuration” button, expand the “Managed Component” section and edit the Runners configuration:
Add a runner by clicking on the “Add” button from the “Runners” section:
Configure the runner in the “Add Runner” window using the following information:
- Name: free text used to identify the runner
- Type: “On-premise”
- Location ID: Location ID defined when adding the Subaccount in the Cloud Connector
- Virtual Host and Port: Selenium virtual host mapped in the “Cloud To On-Premise” section of the Cloud Connector
- Username: username used to access the Selenium host. Can be anything in case no authentication is used.
- Password: password used to access the Selenium host. Can be anything in case no authentication is used.
Click on the “Add” button and the configuration is complete. The runner is ready to be used.