AppPerfect Functional Tester for Web Applications 


Tutorial : Functional Testing of a Web Application

This tutorial provides a brief introduction to the Functional Tester product of the AppPerfect Test Studio using a set of hands-on practice exercises. This tutorial assumes you have successfully downloaded and installed AppPerfect Test Studio 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

  1. Creating Common Project
  2. AppPerfect Functional Tester

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\TestStudio folder and will be referred as TESTSTUDIO_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.

Creating Common Project

In AppPerfect Test Studio, you can create a common project and use the same project to perform tests in all the bundled products.

Exercise 1: Launch AppPerfect Test Studio

Action:

  1. Click on Start -> Programs ->AppPerfect Test Studio x.x.x -> AppPerfect Test Studio
  2. On launching AppPerfect Test Studio a Welcome page will be displayed. Go through the brief description given for each product and click on the product icon to view its perspective.
    NB: Welcome page is displayed only when Test Studio x.x.x is launched and last time no project was opened.
  3. To switch between different product perspectives click on corresponding project button in toolsbar.

Exercise 2: Creating a Common Project

Action:

  1. Launch the Common Project Wizard by clicking File ->New... menu option. The New Project wizard will be launched.
  2. Keep the default project name and location for the purpose of this exercise. We don't have to provide "Notification" settings. Click on the OK button.
  3. A confirmation message saying that the project is saved will be displayed. Click on the OK button.

Now using this common project we will create tests to demonstrate the functionalities of AppPerfect Functional Tester product.

AppPerfect Functional Tester

NB:Please follow the steps provided in the "Creating Common Project" section to first create a common project, then proceed further.

Exercise 1: Define a Functional Tester project

Action:

  1. Once the common project is successfully created another dialog - Define Project Properties dialog - will be displayed.
  2. The dialog shows various options which can be configured for the project, leave them default and click on OK button.
  3. 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.
  4. Click Help -> Table of Contents menu item to see AppPerfect Test Studio product documentation
  5. Open the Preferences dialog by selecting the menu option Tools -> Options...
  6. Review the default settings for Functional Tester and click the OK button to close the dialog.
    NOTE: AppPerfect Functional Tester uses Microsoft Internet Explorer's COM interface to record and replay Web browser events. Hence, it only works on Windows 2000, Windows XP and Windows 2003 and requires Microsoft Internet Explorer 5.0 or higher browser to be installed. AppPerfect Functional Tester is not supported on Linux, Solaris or Mac OS X.

Exercise 2: Recording a Test

Action:

  1. Start tomcat server by selecting Start->Programs->AppPerfect Test Studio x.x.x->Documentation and Examples->Examples->Tomcat running Petstore->Start Server.
  2. To start recording, click on Project -> Record test... in the menu bar.'
  3. 'Record a test' dialog will be displayed. Select ActionGroup1 from the Group combo. Provide starting URL as "http://localhost:8082/petstore". In the authentication select "Form based Authentication" and provide user name: "j2ee" and password :"j2ee". Now Click on 'Start recording' button.
  4. An instance of Microsoft Internet Explorer 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.
  5. Click on each link on the left: Birds, Reptiles, Dogs, Cats, Fish
  6. Order an item by clicking on: Birds -> Amazon Parrot -> Adult Male Amazon Parrot -> Add to cart
  7. Modify the quantity and click on Update Cart button.
  8. Check out by clicking on the Check Out link.
  9. At the 'Sign in' page, default values are already provided. Click on Submit.
  10. Sign out of PetStore by clicking on Sign-out at top right of screen.
  11. Close browser by clicking on File -> Close in the browser window.
  12. Click on the Stop button of "Record a test" dialog to stop the recording session.
  13. Click on Close button to close the 'Record a test' dialog.
  14. In the AppPerfect Functional Tester window, look at the tree on the left. Each action you performed has been recorded.
  15. Click on any of the recorded action on the left. The page associated with that action is displayed along with the actual element highlighted.

Exercise 3: Creating required parameters

Action:

  1. You can parameterize any event. Select the event which you want to parameterize and invoke parameterization dialog for that event, for exercise select keypress on text 27: event and invoke parameterization using popup menu. Create a parameter for the event.
  2. Now in the Parameters node select the newly added parameter for Item Quantity (keypress on text 27:) and 'Edit Parameter' using the UI given at the bottom. Enter 3 in the Add Value text field, click on the Add button.
  3. Now if the test is replayed for two iterations then each time different value will be picked for Item quantity.

Exercise 4: Adding page/text validations

Action:

  1. Select the URL "Items" in the Editor tab.
  2. Right click on the DOM Tree on the right and select the option 'Validate HTML source'.
  3. This will validate all the elements & content of the web page when the test is replayed and report any validation error if there is any mismatch found in the recorded and replayed web page.

Exercise 5: Executing a test

Action:

  1. Go to Project -> Properties.... menu to open Functional Tester project properties dialog. Change the 'Iterate through test' value to 2 and click OK.
  2. To start replay of the recorded test, click on Project -> Run from the menu bar.
  3. An instance of Microsoft Internet Explorer is launched and each of the recorded events is replayed. No manual intervention is required during test replay, unless an error is encountered.
  4. Note that two different values are picked for Item quantity for each iterations.
  5. Stop running tomcat server by selecting Start->Programs->AppPerfect Test Studiox.x.x->Documentation and Examples->Examples->Tomcat running Petstore->Stop Server.

Exercise 6: View and analyze results

Action:

  1. After replay, results are displayed in Results tab located at the top left of the window.
  2. Click on Results tab. Test results details are displayed on the right. Click on individual items in the tree on the left to view details on specific actions. Since PetStore is based on templates based framework (similar to Struts), several of the items on the left simply say "Item" since the actual JSP page is not revealed to the browser by Struts.
  3. Browse and examine the different views that are displayed on selecting the various nodes in the navigation tree.
  4. Select the Action Group node. This report gives a summary of the successful, failed, timed-out & not played URLs & Events.
  5. Select the URL Item and click on the Validation Results tab on the right. Here you will find the details of the successful / failed validations.