LoadGen Studio Recorder for WebTesting: Overview of the ToolBox and User Simulation Actions

Welcome to an in-depth exploration of the LoadGen Studio Recorder for WebTesting, a powerful tool designed to put you in control of performance and load testing for your web applications. In this guide, we will delve into the intricacies of the toolbox, walk through its comprehensive features, and discuss how to effectively simulate user actions for your testing needs. This extensive examination will equip you with a robust understanding of how to leverage the LoadGen Studio Recorder's capabilities to their fullest potential. Whether you're a seasoned veteran in the realm of web testing or a novice just beginning your journey, this guide aims to provide valuable insights and practical knowledge to enhance your testing processes. So, let's dive in and uncover the intricacies of this sophisticated tool.


UserAction blocks

UserAction blocks will be added here when you have created them. UserAction blocks are a collection of tools and actions that you have selected and grouped as a single tool. Use these UserAction blocks to help you with repetitive tasks.

Validation and measurements


Web Testing is an essential part of software testing that focuses on web applications. An integral part of this process is "Validation," which is the process of evaluating software during or at the end of the development process to determine whether it satisfies the specified requirements.

In the context of Web Testing, validation becomes crucial to ensure all features function as intended across various browsers, devices, and conditions. Validation can cover different aspects, including but not limited to, page loading times, response to user interactions, handling of form submissions, navigation between different sections or pages, and more.

Using tools like LoadGen, you can automate the validation process. It will record your interactions with the application (like clicking a button or entering text) and replay them, mimicking a real user's actions. If during the replay, a step doesn't behave as expected, it could be a sign that the particular functionality isn't working correctly, or the performance isn't up to the mark. This indicates that you may need to manually intervene and adjust the validation parameters, helping you ensure that the application works smoothly under various scenarios.

Remember, validation isn't just about finding errors; it's about assuring quality. By validating your web applications, you're ensuring a consistent, high-quality user experience, reducing the risk of malfunction, and increasing overall user satisfaction. It's a step you can't afford to miss in the world of Web Testing.

Start measurement
A start measurement action sets a stopwatch for a measurement. Its argument is the name of the measurement. Measurements are used later in creating analyses and reports to show user experience. Measurements are part of an application and can be found in the LoadGen Analyzer. 
Stop measurement
A stop measurement action will stop the stopwatch you have started with a Start measurement action. It then records the elapsed time and saves this into the database with the name of the measurement that was last started and the application it is part of. This action is automatically generated for you when you use the Measurement wizard. It is placed at the top of the group of actions to perform when validation has found a match.
Fail measurement
A fail measurement action will stop the stopwatch you have started with a Start measurement action, and flag the recorded time as a failed measurement. This keeps it out of the test results when you create a chart for measurements. This action is automatically generated for you when you use the Measurement wizard. It is placed at the top of the group of actions to perform when validation has not found a match within its timeout period.



A Select action allows you to look at the value of an item, and base actions on a number of possible values. The item value that you can look at can be a script variable or an environment variable. The environment variables you can choose from are:

1. Session height and width
This variable returns the number of pixels high or wide of the desktop session. You would use this information when you are not sure what the dimensions of your session are and you need to right-a-sign a form, for instance.

2. Session color depth
This returns a number indicating the bits per pixel of the session. This may be useful to determine which validation method to use.

3. Username, server name, LoadBot name ( = machine name)
Use a Select action on the username to determine actions for a specific set of users (for instance to start a specific business application). You may also include actions to perform if the user lands on a specific server or LoadBot agent.

4. Foreground window: caption, width, height, X, and Y
Information about the foreground window to help you decide if you want to move, resize, close or minimize a window.
5. Browser
Depending on the type of web browser in use, certain unique actions can be executed.
A Variable action allows you to do one of three things:
1. Adjust the value of a variable
Options are dependent on the type of variable. For text variables, you can set their value to, for instance, a timestamp, a unique ID, a username, or the server name. You can now also convert information from a data source to a variable.
2. Check the value of a variable
Depending on the type of variable, you can check its value against a range of and even other variables.

3. Send the value of a variable to the session
The value of the variable will be sent to the session as free text, meaning that it will be translated to individual keyboard strokes.
Repeat loop
The Repeat loop action contains a number of actions that will be repeated. Options for repeating are to repeat the actions a specific number of times, or for a specific number of minutes. You can nest Repeat loops if you want. To exit a Repeat loop on a condition, including the Exit repeat action after a check or validation.
Exit repeat
An Exit repeat will exit the Repeat loop it is part of immediately. NS is useful if you only want to repeat until a custom condition is met, such as a successful validation.
Free code
Free code allows you to add code lines to your script.
Group action is a structure that contains other actions, including Group actions. You can select a continuous number of actions in the tree view, right-click them, and choose 'Create a group of selection' to wrap the actions in a group. The group action helps you to structure the tree of actions into easy-to-understand chunks.
Exit block
The Exit block action will leave the current Application block immediately, with a successful or failed flag. If failed, the flow will not continue with the next block in the Application but move on to the next Application.
Exit application
The Exit application action will leave the current Application block immediately, and signal that the entire Application has either been successful or failed. The flow will move on to the next Application.
Exit flow
The Exit flow action will leave the flow immediately and log off or disconnect. You can set the overall type of exit to Success or Failure.
Use IFrame
The "Use IFrame" action allows you to interact with elements within an inline frame (IFrame) on a webpage. IFrames are often used to embed another HTML document within the current page. This action is essential when dealing with web testing involving IFrames, as these frames have their own Document Object Model (DOM), and elements within them are not directly accessible from the parent page's DOM. With the "Use IFrame" action, you can seamlessly switch the context to the IFrame's DOM, perform necessary actions like clicking a button or inputting text, and then switch back to the parent page's DOM.

The "Wait for Download" action pauses the execution of the test script until a file download has been completed. This action proves especially valuable in scenarios where a user interaction initiates a file download (like clicking a 'Download Report' button), and the subsequent steps depend on the successful completion of this download. By effectively monitoring the download process, this action allows the script to proceed with the next steps once the download has been fully completed. The ability to wait for a download ensures that tests accurately replicate real user interactions and expectations, consequently yielding reliable and authentic results.

In scenarios where the download does not initiate or complete, the 'Wait for Download' action can handle such exceptions. It can fail the measurement if the download doesn't succeed, thereby providing an accurate representation of the user's experience in the test report.


User simulation

Navigate to URL
The "Navigate to URL" action is a browser-specific command used to instruct the browser to open a specific webpage by providing a URL (Uniform Resource Locator). This action is generally the starting point of any web application testing process and it mimics the real-world user activity of opening a web browser and typing in a specific URL to visit a web page.
Get web element's value

The "Get web element's value" action is used to extract the value or attribute of a specific element from the web page. In automated testing scenarios, this is often used to verify that a web element contains the expected value. Web elements can include anything that appears on the page, such as buttons, images, text boxes, dropdown menus, checkboxes, radio buttons, etc. The 'value' refers to the data or state associated with that element, which can vary based on the type of element. For example, for a text box, the 'value' might be the text it contains, while for a checkbox, the 'value' could refer to whether it's checked or not.

A Pause action will pause the execution of the flow for a specific number of milliseconds.
A Think action will pause for a number of milliseconds, with a base value and a lower and upper percentage bound. The actual number of milliseconds that will be paused will be randomly generated when the flow executes, between the lower and upper percentages, and based on the base value. This makes the waits in your script more realistic and less predictable.
Wait for Page Ready The "Wait for Page Ready" action is used to pause the execution of a testing scenario until the web page has fully loaded. This includes the loading of all the content of the webpage like images, scripts, and stylesheets, and the completion of any initial scripts that run when a page loads. This action is essential to ensure that all elements are fully loaded and ready before any interactions or assertions are made on them, preventing potential errors in the testing process due to elements not being loaded or ready for interaction.
Lorem Ipsum
A Lorem Ipsum action will insert a number of Lorem Ipsum words into the session. The words are randomly picked from a repository of Lorem Ipsum words, including punctuation. The algorithm will make small sentences of the generated words. Note that each call to this method may result in a different number of characters even though the number of words is the same.
A Timestamp action will send a timestamp to the session. Options include the format in which the timestamp will be sent, including some predefined formats.
Free text
The free text action allows you to send multiple lines of free text to the session. When you normally record a flow, each character you type will be recorded and inserted into the tree of actions. However, it may be more convenient to use a Free Text action to send pieces of text to the session.
Send secure string
The send a secured text to your session is ideal for password fields (if you have the secure string sent to a text application e.g. notepad it will show you what is written).
Key stroke
A Keystroke action allows you to send any combination of modifier keys and a character to the session. When a session is connected and you send a keystroke to it, Studio will automatically record it and insert it into the tree of actions. However, it may be more convenient to configure a keystroke with this action. You can send any combination of Alt, Control, and Shift with one or more keys, including keys like Tab, Backspace, and Enter.
The Datasources functionality has two input methods: 
Method 1: Create a datasource text file, that when selected can generate text in your flow for a set amount of time or a set amount of words. You can randomize the output. 
Method  2: Create a datasource sheet file, you can create a sheet file and implement if you wish rows or specific words from a column, e.g. password that is linked to a specific user.
Mouse click
Sends a mouse click to the session. You can configure static X and Y coordinates, but you can a so use variables and an offset to place the mouse clicks. We support a click with the left mouse button and with the right mouse button.
Mouse double click
Sends a double mouse click to the session. You can configure static X and Y coordinates, but you can also use variables and an offset to place the mouse clicks. Supports double click with the left mouse button and a so with the right mouse button.
Press browser's back button This action simulates a user clicking on the 'Back' button of their web browser. It takes the user back to the previously visited web page in the browsing history. It's a useful tool for simulating and testing user navigation flows within your web application.


Session variables

Server name
Sends the name of the server to the session. The name of the server only makes sense in a Citrix or RDS setup. When you call this action in a Local setup, the name of the current machine will be returned.
Sends the username of the session to the session as text. In a Citrix setup, this will be the virtual user with which a session has been logged. In a local Client setup, this will be the user with which the LoadBot agent has been started.
Sends the current iteration of the user session to the session as text.
Sends the current user type of the user session to the session as text.



Send message to Director
This action will send a message to the LoadGen Director. This message will appear in the user status list at the bottom of the Execute module. You could send progress information on the script, for instance at the start of an application, or debug information for a test run.
Send error message
A Send Error message will send a message to the LoadGen Director with its flag set to Error. This message will be displayed in the Execute dashboard in the LoadGen Director, with an error flag. Use this to signal fails in your flow. An error message will not disrupt the continuation of the flow.
Send screenshot to database
Send a screenshot to the database, letting you send additional screenshots from within your session or from the LoadGen Agent (Citrix Enhanced and Microsoft Remote Desktop Services). A failed measurement will automatically send a screenshot, this tool is used for debugging or extra checkpoints for your reporting.
Log message
The Log message action will log a message to the LoadBot logging. Use this for more detailed debug logging that you don't want to appear in the LoadGen Director. Options include the Log level (Fatal, Error, Warn, Info, and Debug) and the message.
A Comment action allows you to add clarifying comments to your flow. These comments may be useful for adding reminders, clarifications, examples or To Do's. They contain only text but may include screenshots in a future release of the LoadGen Studio.


Was this article helpful?
0 out of 0 found this helpful