Getting Started with performance test of 5 concurrent robots emulating real users.
A brief overview of the product
AppLoader uses robots called rUsers to simulate multiple users accessing your application from the front-end; exactly how it will be accessed in production.
AppLoader uses a Distributed Architecture so that you can simulate load from different locations and scale easily. There is no coding necessary to set up your scripts.
The Controller: Where you manage and monitor tests:
1. Distribute the scripts to all the robots on the Injectors
2. Create test plans
3. Schedule tests
4. Create and view load test reports
Robots (rUsers): Each rUser simulates one real user. These are located on the Injectors and run the scenarios from their own desktops at the direction of the Injector.
Injector: This is the component that controls the rUsers, runs tests, and sends results back to the Controller. Contains the rUserManager that creates a session for each rUser.
Each injector is located on its own machine, manages the robots on that server, and acts independently of other injectors. (Usually, an injector can handle up to 100 rUsers.)
ScenarioBuilder: Code-free engine for creating scenarios/scripts of business processes.
This article outlines how to run a five user test on a server. This is the ideal set up for testing most applications.
If you don't have access to a server, but want to proceed to see how it works on your PC, see Eval of One user on PC.
(If you choose this option, keep in mind that you may need to later adjust your scenario when you ramp up your load test to be compatible in the server environment, as your PC may render images differently and cause script failures.)
Install the Controller, Injector, and ScenarioBuilder on the same server. The installer enables you to select which components to install on that server. (select the option for all 3)
Best Practice for using AppLoader: Set up one Injector perfectly, then clone it to reach the number of desired virtual users. You will also be building the scenario from the server where the Injector is so that the images and environment will be what the robot users see when you are running the test. (follow steps below)
LAUNCH APPLOADER CONTROLLER
Open a browser to access Controller (by typing in IP address or hostname of the machine controller is on followed by and the port number, For example, localhost:8888 )
Log in to the Controller (default is username: admin, password: admin)
Set up user account details, (it is only required for the first time logging in), submit and log in again.
You will see the Injectors page with your registered Injector.
CREATE and VIEW ROBOT USERS
Important: AppLoader works with Remote Desktop Services (Terminal Services) from Microsoft to generate multiple users simultaneously interacting with an application from one Windows Server.
For guidance on installing Remote Desktop Services on your Windows Server and configuring your server for optimal performance as an Injector, read: "How to configure Remote Desktop Services for Automai Injector"
Select your Injector (by checking off on left). Then click Start rUsers on the top menu.
A window will pop up. Specify the number of users (eval comes with 5 maximum)
The start index is 1 (starting with the first user), launch delay (seconds between starting users)
rUserManager window (the module that manages rUsers sessions) will launch and you will see the rUsers connecting.
Select one of the rUsers (a larger screen will open for that user).
CREATE and VALIDATE YOUR SCENARIO
Before you start your scenario, know your application
Before you start recording and building the script, go through the process on your application manually and understand what steps you will need the robots to do. (Example: Log into an application, look up a record, and log out).
Build your Scenario:
- Open Scenario Builder.
- Enter a name for your project.
- Build a scenario by clicking “New” button on the top left to create your Scenario.
- Click on "Start Recording" option
Now begin going through the process on your application. ScenarioBuilder will be listing the steps in a script as you go.
When you are done, click on "Stop" button, ScenarioBuilder will go back to the main window. You will see the recorded steps as individual actions.
Afterward, you can edit the script, break it into subscripts, update any actions or images, add transactions, etc.
(Later, you can divide and organize your scripts to make them more sophisticated and easier to edit, loop certain parts, etc. To learn more, see this article.)
Play and Validate your Scenario:
Once the scenario is built, run it by clicking on the “Play” button. Run multiple iterations to make sure that the scenario was finished correctly and everything is ready for the start of the next iteration.
If the scenario runs to the end without any errors and runs multiple times without errors, it is valid to use in a load test. If the scenario aborts on an error, debug the scenario with viewing the failure screenshot and run it through a simple test again.
Set the reference time and save your scenario.
Send your Scenario to the Controller:
Send your scenario to the Controller by clicking “Send Scenario”.
(See the IP address/hostname of the Controller that it is connected to at the status bar of ScenarioBuilder.)
Tip: To Manage Controllers/Bases in ScenarioBuilder, click on “View" -> "Options" and then “Base”.
Close or minimize ScenarioBuilder.
CREATE and EXECUTE TESTS
Launch AppLoader Controller.
Click on "Manage Tests" tab
Click "Create new test plan"
Enter a name and description for your test plan.
*For further explanation, hover over the field names.
- Steady-state time: How long (in minutes ) you want your test to run after all the rUsers are on the system)
Use 10 minutes as the default.
- Enforce SST (Steady-state time): “No” allows you to specify the number of iterations you want under "Test Scenario" section. “Yes” stops executing test at the set time.
Test scenario section:
Select desired Injectors, scenarios, rUsers, delay, pacing (using dropdown, or wizard)
The number of iterations is automatically calculated. You can change this if you don’t enforce steady-state time.
If have any CSV files in your script, it will show up in this section. Choose how you want AppLoader to use (For example for usernames, use “Fixed row per User”.)
Hover over “Access Rule” for more explanation or see AppLoader User Guide.
Click “Yes”, to review the execution plan.
Close execution plan window and click YES
Rename the load test if desired, and add notes (i.e. Load test run 1) on the test plan.
Check Send Scenario, and Submit.
MONITOR LOAD TEST EXECUTION
Once the test starts, the real-time page will open.
While a test is running, you can view the execution process through rUserManager. Maximize the rUserManager to see each rUser session executing scenarios in real-time.
Important: The rUserManager can be minimized but not closed during the test. If closed, it will disconnect the rUsers sessions and disrupt the test.
VIEW and ANALYZE REPORTS
Go to "Test Analysis" Controller to view and analyze load test results, failures, reports, etc.
If there are script failures, go back to ScenarioBuilder and fix them as needed. Resend your scenarios and execute your tests again.
DETERMINE INJECTOR CAPACITY AND RAMP UP ACCORDINGLY
Once test runs smoothly, increase the load by increments of 25 (25, then 50 users, 75, more)
This will allow you to determine how many users your Injector can handle comfortably.
Check Injector metrics in “Test Analysis” page.
In the tree on the right side, you can check Injector system metrics (CPU, memory, disk IO’s) to see where it is overwhelmed.
Once tests are running well and volume is determined, clone according to your objective. For example: If your Injector can handle 100 rUsers and you need 1000, then clone 9 times.
After cloning, you can see all the Injectors under the “Injectors” tab in the Controller. They will now be available in the drop-down for the test plan.
Update your test plan by adding new Injectors to it.
Contact us anytime for assistance! email@example.com.