Parameterizing a Load Test
This tutorial provides a brief introduction to the parameterization of an AppPerfect Load Test using a set of hands-on practice exercises. This tutorial assumes you have successfully downloaded and installed AppPerfect Load Test on your machine with the default options. Apart from this pre-requisite, this tutorial is self contained. Instructions given below are Windows-specific; if you are using a non-Windows machine, please use equivalent commands/instructions.
This document is divided into following sections
Within each section, multiple exercises are listed. Each exercise forms a logical unit which is expected to take no more than a few minutes to perform. All exercises use the PetStore demo application running inside Apache Tomcat. The modified PetStore application and Tomcat are both bundled with this product.
All exercises assume you have installed the product in C:\AppPerfect\LoadTest folder and will be referred as LOADTEST_HOME henceforth in tutorial. If you have installed the product in some other folder, modify the instructions below appropriately.
This tutorial is not intended as a comprehensive training guide. Please refer to the product documentation for detailed information. However, this tutorial will give you a very good overview of the products and substantially improve your productivity with the product.
Exercise 1: Launch AppPerfect Load Test
- Click on Start -> Programs ->AppPerfect Load Test x.x.x -> AppPerfect Load Test
- On launching AppPerfect Load Test a Welcome page will be displayed. Go through the brief description
given for product.
NB: Welcome page is displayed only when Load Test x.x.x is launched and last time no project was opened.
Exercise 2: Creating a Project
- Launch the Project Wizard by clicking File ->New... menu option. The New Project wizard will be launched.
- Keep the default project name and location for the purpose of this exercise. Click on the OK button.
- A confirmation message saying that the project is saved will be displayed. Click on the OK button.
Now using this project we will create tests to demonstrate the functionalities of AppPerfect Load Test product.
AppPerfect Load Test
NB: Please follow the steps provided in the "Creating Project" section to first create a project, then proceed further.
Exercise 1: Define a Load Test project
- Once the project is successfully created another dialog - Define Project Properties dialog - will be displayed.
- Change the default settings as shown in this dialog as Test Duration:1min, Load Type:Loop, Loop Count:3, Virtual Users:1.
- Go through the description given for Loop load type at the bottom.
- Review other settings in the Panel and click on the Finish button to close this dialog.
- Click through all the menu items to familiarize yourself with the available features and how to access them. Viewing through all menu items will give a reasonable overview of the application.
- Click Help -> Table of Contents menu item to see AppPerfect Load Test product documentation
- Open the Preferences dialog by selecting the menu option Tools -> Options...
- Review the default settings for Load Test and click the OK button to close the dialog.
Exercise 2: Creating required parameters
To demonstrate parameterization, we will consider the "Account" page of Petstore which has a login page that takes a user name and a password. For this we will be defining three different parameters values each for login and password to be used while replaying the test.
- Start tomcat server by selecting Start->Programs->AppPerfect Load Test x.x.x->Documentation and Examples->Examples->Tomcat running Petstore->Start Server.
- In IE, enter the URL to load the petstore app. i.e. "http://localhost:8396/petstore"
- Click on link "enter the store".
- Click on link "Account".
- Here, Under "No. I would like to sign up for an account.", create three user accounts. For this tutorial we'll assume the following three user accounts:
- Account 1: username - john, password - smith.
- Account 2: username - sam, password - bradley.
- Account 3: username - pet, password - store.
We shall be leaving default information for "Contact Information" on submitting the new username and password. Sign-out and repeat process to add all the usernames and passwords.
Exercise 3: Recording a Test
- To start recording, click on Project -> Record test... in the menu bar.'
- 'Record a test' dialog will be displayed. Select ActionGroup1 from the Group combo. Provide starting URL as "http://localhost:8396/petstore". In the authentication select "Basic Authentication" and provide user name: "john" and password :"smith". Now Click on 'Start recording' button to start recording.
- An instance of configured browser will be launched with the PetStore home page loaded. Click on enter the store link. This will populate the database and display the PetStore main page. Note that populating the database might take some time.
- Order an item by clicking on: Birds -> Amazon Parrot -> Adult Male Amazon Parrot -> Add to cart
- Check out by clicking on the Check Out link.
- At the 'Sign in' page, under "Are You a returning customer - Yes.", enter username as john and password as smith. Click on Submit.
- Sign out of PetStore by clicking on Sign-out at top right of screen.
- Close browser by clicking on File -> Close in the browser window.
- Click on the Stop Recording button of "Record a test" dialog to stop the recording session.
- Click on Close button to close the 'Record a test' dialog.
- The URLs navigated will be displayed under ActionGroup1.
- Click through each Tasks to view its details on the panel on the right.
Exercise 4: Configuring Parameters in Test
- In the editor tree, select 'Parameters' to open the parameters settings table on the right hand side.
- Here, click on 'Add Parameter' button to add a parameter.
- Select 'Fixed Values' as Data Source. Select Next Button.
- In the 'Parameter Setting Dialog', enter 'userParam' as the parameter name.
- Under Add Value, enter john and click on the 'Add' button.
- Under Add Value, enter sam and click on the 'Add' button.
- Under Add Value, enter pet and click on the 'Add' button.
- Choose 'Sequential' as parameter selection.
- Click Finish.
- Click on 'Add Parameter' button to add another parameter.
- Select 'Fixed Values' as Data Source. Select Next button.
- In the 'Parameter Setting Dialog', enter 'passParam' as the parameter name.
- Under Add Value, enter smith and click on the 'Add' button.
- Under Add Value, enter bradley and click on the 'Add' button.
- Under Add Value, enter shop(a wrong password as per the user account we created for username pet, the correct password was "store") and click on the 'Add' button.
- Choose 'Sequential' as parameter selection.
- Click Finish.
- In the editor tree under ActionGroup1, select the task which states something like 'Task N [/petstore/checkhimout.do]'.
- Select 'Post Parameters' tab.
- Click on the parameter name 'userName1' in the parameters table.
- Click on the 'parameterize' button.
- In the parameterization settings dialog, select userName1 under the name column in the parameter settings table.
- On selection, in the value group, 'Constant' will be selected with the value john in the text box.
- Select 'Parameterize' and from the combo box, select userParam. This will use the values of userParam as username on each iteration.
- In the parameterization settings dialog, select passWord under the name column in the parameter settings table.
- On selection, in the value group, 'Constant' will be selected with the value smith in the text box.
- Select 'Parameterize' and from the combo box, select passParam. This will use the values of passParam as the password on each iteration.
- Click Finish.
Exercise 5: Executing a test
- To execute the test, click on Project -> Run from the menubar.
- The focus will be shifted to Status tab. Here the current status of the test execution will be displayed. Various test metrics such as response time, virtual user count, etc. are continuously refreshed in the charts.
- The test will run for 3 loop counts as specified when project was created.
- Stop running tomcat server by selecting Start->Programs->AppPerfect Load Testx.x.x->Documentation and Examples->Examples->Tomcat running Petstore->Stop Server.
Exercise 6: Checking Parameterization
- Before executing the test, open the Preferences dialog by selecting the menu option Tools -> Options...
- Go to Log Settings and Select "Log Requests Fired" checkbox. Click on OK to save and close the dialog.
- After the excution of test go to "LOADTEST_HOME/logs" folder and look for "request.txt" file.
- Open "request.txt" file in some editor and check the requests fired. Search for request "checkhimout.do" and check the parameters passed, you can see that during each run a different parameter value was passed to the server.