-
Technical Assistance
Request product support from SAP
-
Non-Technical Assistance
Request non-product support or provide feedback on SAP Support Portal site
Technical Assistance
Request product support from SAP
Non-Technical Assistance
Request non-product support or provide feedback on SAP Support Portal site
Synthetic User Monitoring (SUM) configuration is to be performed via the application itself.
The configuration involves three components:
The set up Synthetic User Monitoring you need:
The first step during the setup is the creation of a SUM Runner. A runner is the component in charge of the execution of the monitoring scenarios.
Every runner has a Runner Endpoint. A runner endpoint is the Selenium remote webdriver infrastructure that Synthetic User Monitoring (SUM) accesses to pass the scenario commands to execute.
It also hosts the web browser used to access the monitored applications.
To access the endpoint, SUM uses the connection information defined in the runner configuration. Two types of configuration are possible:
Internet | The endpoint is access via the HTTPS URL specified in the configuration. |
On-premise | The endpoint is access via the SAP Cloud Connector information specified in the configuration |
For Internet type, only HTTPS URLs are supported.
A runner endpoint can be located in the cloud or on-premises.
To get a Selenium remote webdriver infrastructure, you have several possibilities:
Some companies are specialized in providing such infrastructure (SauceLabs, BrowserStack, LambdaTest, ...).
This is often the easiest way to obtain a reliable and efficient execution infrastructure.
Please note: SAP does not recommend any specific Selenium remote webdriver infrastructure provider.
You can find more information about Selenium remote webdriver here.
The runner endpoint URL must be a trusted infrastructure. SUM will send the scenario commands to this URL, including sensitive data maintained in the scenario configuration.
If necessary you can adjust the endpoint of the SUM Runner later.
Perform the required changes
Once you enter changes the "Save" and a "Discard" button will appear. Changed fields will be highlighted.
When a new SIDE file is imported, it becomes a new Resource entry in the SUM configuration.
During the import process, the SIDE file content is analyzed and:
Script Names and IDs
Names and IDs come directly from the SIDE file.
Script Element | SIDE Element | Internal Identifier |
---|---|---|
Script | Name of the test suite | Identifier of the resource (SIDE file) + GUID of the Selenium test suite |
Step coming from a test | Name of the test | Identifier of the Script + GUID of the Selenium test |
Step coming from an annotation | Annotation text | Identifier of the Script + GUID of the Selenium command |
Nested Tests
Via the "run" Selenium command, a test can call another Selenium test (in the SIDE file).
In this case, the commands inside the called test belong to the current SUM step. Moreover, if a called test contains SUM step annotations, they are ignored.
Step Thresholds
When the steps are created, they are automatically configured to:
You can set up thresholds later as described in the section "Scenario Maintenance"
SUM Variables
When the SIDE file is imported, SUM detects the SUM variable annotations and automatically creates the corresponding SUM script variables.
By default, the value of the created variable will be the "value" field of the corresponding Selenium command.
If during the SUM scenario creation good practice was followed, the secured variables don't have their correct value. It will be necessary to appropriately set them via the SUM configuration in the parameters section of the Scenario details as described in the section "Scenario Maintenance".
The third step is to create a scenario for your SUM scripts.
You can create several scenarios from the same Selenium IDE script
One runner can run several scenarios
Each scenario can only be assigned to one runner
The creation will automatically open the Scenario Details view. You can also access this later by clicking on the line of the scenario in the scenario table.
At scenario creation, all thresholds are temporarily disabled, because SUM doesn't know the appropriate values for the thresholds.
There are two ways to configure the thresholds:
Automatic setting of the performance thresholds
If you don't adjust the threshold values manually, they will be automatically evaluated after the first successful execution of the scenario. The automatically set thresholds will be:
This automatic setting will also activate the monitoring of the performance.
Please note: If any threshold is manually adjusted before the first successful execution of the scenario, SUM will not automatically set the thresholds.
Reset automatic setting of the performance thresholds
After their first adjustment (manual or automatic) SUM will not longer try to automatically re-adjust the scenario thresholds.
You can however indicate to SUM that you want a new automatically re-adjustment of the scenario thresholds:
The next successful execution of the scenario will be use as a benchmark to define new values for the thresholds.
Manual setting of the performance thresholds
You can also configure manually the scenario performance thresholds in the "Thresholds" section of the Scenario details.
By default, SUM executes the scenarios every 5 minutes (300 seconds).
You can adjust the time interval with which a scenario is executed.
If you defined SUM variables in your Selenium test script SUM uses the default values defined in the script during the execution.
If you use variables for passwords or user names, you most likely will have to change these default values.
SUM allows you to adjust some properties related to the execution of the Selenium script associated with the scenario. For instance, the web browser to use, the selenium IDE "execution speed", etc.
You can adjust the following properties:
Property | Description |
---|---|
Browser > Browser | The web browser to use. Currently, SUM supports Chrome (default choice) and Edge Chromium. |
Browser > Webdriver arguments | The webdriver arguments to pass to the runner endpoint. (e.g., --headless, --incognito, etc.) |
Execution > Execution speed | This is similar to the Selenium IDE "Test Execution Speed". It corresponds to a delay introduced after the execution of each command.
|
Execution > Element Wait timeout [s] | When a command has several targets, this is the maximum wait timeout for each of the targets. Does not apply to the commands with an explicit timeout (e.g. the wait commands) |
Execution > Global Wait timeout [s] | Maximum time wait timeout to find the target of a command. Does not apply to the commands with an explicit timeout (e.g. the wait commands) |
Screenshots > Automatic screenshots | Possible options are:
|
Screenshots > Enable explicit screenshots | When enabled, a screenshot is taken after each command with the @sap.sum.screenshot annotation. |
The last step is to activate the scenario on a runner. Please note that you can assign several runners to a scenario. Also, you can use a same runner for several scenarios.
By default, SUM keeps the scenarios executions metrics for 14 days.
This retention period is configurable. the minimal value is 1 day. The maximum is 30 days.
For the screenshots captured during the scenarios executions, SUM has a specific retention period.
By default, it is 3 days. It's configurable with a minimum of 1 day and a maximum of 10 days.
Screenshots can consume a lot of space. This is something to consider when configuring their retention period.
The change will be taken into account the next time the housekeeping job is executed. This happens once a day.
Be aware that SAP provides you a fair usage concept with 8GB HANA memory in total. If you extend the given memory you might need to subscribe additional memory blocks with our BTP service SAP Cloud ALM memory extension.
Term | Description |
---|---|
Scenario | Monitoring scenario - A Selenium Script scheduled to be regularly executed by a Runner |
Step | Monitoring scenario step - Sub-part of a monitoring scenario focusing on a specific action. |
Script | Selenium IDE test suite describing a sequence of actions (a.k.a. commands) to perform on the application to monitor. This is what simulates the end-user actions on the monitored application. |
SIDE file | Selenium IDE file containing one or several test suites that Synthetic User Monitoring will use as Scripts. SIDE files are produced by the Selenium IDE plugin when a Selenium test project is saved. |
Resource | External file uploaded in the SUM database. Currently, the only resource SUM supports is Selenium IDE (SIDE) files. |
Selenium | Selenium is an open-source framework dedicated to Web application tests. |
Annotation | Synthetic User Monitoring specific keyword added into the comment section of a Selenium command. |
Runner | The component in charge of the execution of the monitoring scenarios. |
Runner endpoint | Selenium remote web driver infrastructure: the entity hosting the web browser and the web driver used to access the monitored applications |
Selenium is an open-source framework dedicated to web application tests.
It consists of several components.
In the context of the Synthetic User Monitoring, the involved Selenium components are mainly:
Important: Selenium is not developed by SAP.
Usually designed with the Selenium IDE component, a Selenium IDE script (or SIDE file) corresponds to a Selenium IDE project.
It describes the sequences of actions (also referred to as commands) to be performed on a web browser, such as clicks, setting texts, waiting for elements, etc.
These sequences are organized into:
Each action has a set of attributes to indicate:
Selenium IDE proposes several different commands, most of which are supported by Synthetic User Monitoring. Please refer to the complete list of Selenium commands supported by SUM for details.
To help with the script creation, the Selenium IDE proposes a recorder.
It also gives the possibility to play back the script.
When such a script is saved via the Selenium IDE, it generates a ".side" file.
This file is the JSON representation of the sequence of actions.
The scenario availability depends on the success of the Selenium IDE commands during the scenario execution.
If a command fails during execution, the scenario availability will be rated as failure (Red).
A command failure can be caused by:
If the script defines steps, then SUM will also evaluate the availability at the step level.
For a given execution, the step availability depends on the success of the commands in the step.
Info: Generally, when a failure happens, the SUM scenario execution is interrupted.
Except for the verify commands. In this case, the scenario availability is rated as failed but the execution continues.
The scenario performance depends on the response time (i.e. duration) of the scenario and scenario steps execution.
The response time is compared to a pair of thresholds: Green-to-Yellow and Yellow-to-Red.
For each scenario, performance thresholds can be defined at:
For each execution, SUM provides performance metrics for:
It considers the total response time of the execution (i.e. all the executed commands, in all the steps).
The scenario level performance is evaluated only if both:
The scenario level performance is:
Considers the response time of the step execution (i.e. all the executed commands in the step).
For a given step, the step level performance is evaluated only if both:
The step level performance is:
For an execution of the scenario the overall performance will be:
SUM identifies a SIDE file via both its Project name and the main ID (GUID) in the .side file.
If a SIDE file with the same project name and GUID is re-imported, SUM will not create a new resource entry. It will update the existing one.
Please note: Only the resource owner can update it.
During the import, the following changes are performed:
At Script level
Scripts no longer in the SIDE file are deleted. If SUM scenarios exist for the script, then the update is rejected. I.e. only scripts without scenarios can be removed.
At Step level
Please note: If a step annotation is moved from one command to another - i.e. with the same step name - SUM considers that it is a new step. (Steps coming from an annotation are identified by the Script identifier plus the GUID of the Selenium command)
At SUM Variable level
SUM identifies a SIDE file via both its Project name and the main ID (GUID) in the .side file.
If you re-import a SIDE file after changing it and you want to create a new resource then you need to change one of the two above elements.
The easiest is to change the project name: