User Experience Insight has always been capable of testing a web server by checking port availability, SSL certificates, and HTTP status codes. This works great for measuring and correlating the performance of the network with the performance of the application. In addition to this data, User Experience Insight now enables you to get a deeper understanding of web application performance from the end-user perspective with the Web Application Testing (WAT) framework.
Web App Testing is now out of beta and available on your dashboard with enhanced troubleshooting features and added support for proxy networks.
Note: This version of Web App Testing will support proxy networks with basic and ‘no authentication’. NTLM authentication on the proxy is not supported today.
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 you have been there before so you can 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
Save the recording
Give the test a name
Ensure file type is .side:
How to Add a Web Application Test 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 and select Add
Web Application Test Results
Web application tests provide the total time the test took to run as well as the breakdown of the run time per command and per sensor.
If the test encounters an error, the sensor will attempt to diagnose why the test failed in an automated triage mode. Triage mode will run a set of predefined troubleshooting tests to get the root cause of the test failure and help determine if the test encountered a network problem or application problem. If the triage mode reaches the web application test, the output displays a step-by-step analysis of the commands that were run and pinpoints the specific problematic web page element or command along with 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. In addition, the account should not require 2-factor authentication or 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 while uploading a .side file.
Here is a list of all supported commands –
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 | Experimental - A test to see whether a webpage page has a specified element. |
Watch the video to see how to set-up
or