User Experience Insight offers test templates for checking web server port availability, SSL certificates, and HTTP status codes. This is effective for measuring and correlating network performance with application performance. Additionally, User Experience Insight allows you to gain a deeper understanding of web application performance from the end-user perspective through the Web Application Testing (WAT) framework.
How to record a web application with Selenium IDE
Download and install the Selenium IDE extension for Google Chrome.
Clear your browser data. This helps prevent web applications from recognizing your previous visits, allowing you to make a clean recording.
Launch the Selenium IDE Google Chrome extension.
Select Record a New Test in a New Project.
Name the project.
Enter a base URL and select Start Recording. The web browser will launch .
In the web browser that is launched, perform your interaction with the web page.
When finished, select the Selenium extension to bring up the recording menu.
Stop the recording.
Edit the recording to remove any unnecessary commands by right-clicking on a command and selecting Delete. Ensure the test contains only the minimum necessary commands and does not include any commands that are not supported. The list of supported commands is provided at the end of this document.
Use the Play button to play back the recording, ensuring it runs successfully.
Save the recording.
Name the test.
Ensure file type is .side format.
How to add a WAT to User Experience Insight
Go to Settings > Service & App Tests and select +Add Test.
In the Add Test menu:
Select whether the test should be listed under Internal or External.
Select Template Type: Custom.
Select Template: Web Application Test.
Upload the .side file recorded earlier.
The Target field will be derived from the .side file.
The Test Title is also derived from the .side file but can be modified.
Select the Test Frequency or Rate Limit and select Add .
The sensor performs the web app test using a headless Firefox browser in a sandbox environment. The sandbox environment keeps the sensor safe by preventing web app tests from downloading files onto the filesystem or executing commands on the sensor.
Web Application Test ".side" Files
Web application test files produced by Selenium IDE are plain text, and you should take all necessary steps to store the file securely on your local machine. When you upload the file to the UXI dashboard, UXI stores the web app test file in the same manner as network credentials, with the file encrypted in the cloud and on the sensor.
If testing application login, it is recommended that user accounts be created specifically for the sensor to test. You don't need to use personal credentials, and the account should not require two-factor authentication (2FA) or multi-factor authentication (MFA). Depending on your security policies, you may need to rotate the account passwords and update the web app test files as necessary.
Web Application Test Results
Web application tests provide the total time the test took to run, as well as a breakdown of the run time per command and per sensor.
If the test encounters an error, the sensor will attempt to diagnose the cause in an automated triage mode. Triage mode runs a set of predefined troubleshooting tests to identify the root cause of the test failure and determine whether the issue is related to the network or the application. If triage mode reaches the web application test, the output will display a step-by-step analysis of the commands that were run, pinpoint the specific problematic web page element or command, and provide a screenshot.
Current Limitations
If testing application login, it is recommended to create user accounts specifically for the sensor to test. Using personal credentials is not recommended. Additionally, the account should not require two-factor authentication (2FA) or multi-factor authentication (MFA).
Web App Tests are not supported over proxy networks that require NTLM authentication.
Web app tests must be created and recorded with Selenium IDE and should only contain the minimum steps required to complete the test. Generally, these are "click" and "type" commands. Advanced features such as variables, conditional statements, and multi-window selection are not supported and will not be accepted when uploading a .side file.
Unsupported Commands
Command | Description |
addSelection | Add a selection to the set of options in a multi-select element. |
check | Check a toggle-button (checkbox/radio). |
click | Clicks on a target element (e.g., a link, button, checkbox, or radio button). |
clickAt | Clicks on a target element (e.g., a link, button, checkbox, or radio button). The coordinates are relative to the target element (e.g., 0,0 is the top left corner of the element) and are mostly used to check effects that rely on them, for example, the material ripple effect. |
doubleClick | Double clicks on an element (e.g., a link, button, checkbox, or radio button). |
doubleClickAt | Double clicks on a target element (e.g., a link, button, checkbox, or radio button). The coordinates are relative to the target element (e.g., 0,0 is the top left corner of the element) and are mostly used to check effects that rely on them, for example, the material ripple effect. |
editContent | Sets the value of a content editable element as if you typed in it. |
open | Opens a URL and waits for the page to load before proceeding. This accepts both relative and absolute URLs. |
removeSelection | Remove a selection from the set of selected options in a multi-select element using an option locator. |
select | Select an element from a drop-down menu using an option locator. Option locators provide different ways of specifying a select element (e.g., label=, value=, id=, index=). If no option locator prefix is provided, a match on the label will be attempted. |
sendKeys | Simulates keystroke events on the specified element, as though you typed the value key-by-key. This simulates a real user typing every character in the specified string; it is also bound by the limitations of a real user, like not being able to type into an invisible or read-only element. This is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events. Unlike the simple "type" command, which forces the specified value into the page directly, this command will not replace the existing content. |
setWindowSize | Save a target string as a variable for easy re-use. |
submit | Submit the specified form. This is particularly useful for forms without submit buttons, e.g. single-input "Search" forms. |
type | Sets the value of an input field, as though you typed it in. Can also be used to set the value of combo boxes, checkboxes, etc. In these cases, value should be the value of the option selected, not the visible text. Chrome only: If a file path is given it will be uploaded to the input (for type=file), NOTE: XPath locators are not supported. |
uncheck | Uncheck a toggle-button (checkbox/radio). |
verify element present | A test to see whether a webpage page has a specified element. |
Watch the video to see how to set-up a WAT test.