Automation Fundamental Concepts and Intro. about QTP 9.

2
--Chandra Sekhar

Contact:chanduatp@gmail.com +91-9986108024

Automation Fundamental Concepts

What is Test Automation ?

Software Test Automation is the process of automating the steps of manual test cases using an automation tool Or utility to shorten the testing life cycle with respect to time… When application undergoes regression, some of the steps might be missed out or skipped which can be avoided in Automation… Automation helps to avoid human errors and also expedite the testing process… To implement the Test Automation detailed planning and effort is required

Contact:chanduatp@gmail.com +91-9986108024

Automation Fundamental Concepts

Automation saves time and effort which results in reduction of the Test life cycle… Benefits of Automation - Consistency of Test Execution - Reducing cycle time of regression test cycles - Data driven testing - Repeatability - Coverage - Reliability - Reusability of test wares

Contact:chanduatp@gmail.com +91-9986108024

Automation Fundamental Concepts

 

Automation life cycle is a subset of the entire test life cycle… Automation planning can be initiated in parallel to the test planning phase… Factors to be considered in automation planning,  Stability of AUT (Application under test)  No of regression cycles to be performed  Compatibility of App platform with testing tools  Cost benefit analysis (ROI)  Availability of skilled resources

Contact:chanduatp@gmail.com +91-9986108024

Regression Testing & Automation

When Automation is applicable? Regression Testing Cycles are long and iterative. If the application is planned to have multiple releases / builds If it’s a long running application where in small enhancements / Bug Fixes keeps happening Test Repeatability is required

Contact:chanduatp@gmail.com +91-9986108024

Technologies Supported
Default Support 1. Standard Windows applications 2. Web objects / Applications 3. ActiveX controls 4. Visual Basic applications Supported Add-ins QuickTest Professional Java Add-in 9.1 QuickTest Professional .NET Add-in 9.2 QuickTest Professional Oracle Add-in 8.2 QuickTest Professional PeopleSoft Add-in 8.2* QuickTest Professional Add-in 8.2 for SAP Solutions QuickTest Professional Siebel Add-in 8.0* QuickTest Professional Stingray Add-in 8.2 QuickTest Professional Terminal Emulator Add-in 8.0* QuickTest Professional VisualAge Smalltalk Add-in 8.2 QuickTest Professional Web Services Add-in 9.2

Contact:chanduatp@gmail.com +91-9986108024

Supported Browsers
Microsoft Internet Explorer 6.0 Service Pack 1 Microsoft Internet Explorer 7.0 Netscape Browser 8.1.2 Mozilla Firefox 1.5 Mozilla Firefox 2.0

Contact:chanduatp@gmail.com +91-9986108024

Add-in Manager

Default Add-ins  ActiveX  Visual basic  Web Other Add-Ins  Siebel  Java  SAP  Oracle  .Net and many more

Contact:chanduatp@gmail.com +91-9986108024

Add-in Manager Cont…

QTP’s Add-in Manager facilitates the users to select the technology / environment from variety of environments suitable for the AUT (Application Under Test) Once an add-in is loaded, users can record that application in its supported environment and thus QTP recognizes the objects specific to the application under test (AUT) as loaded through Add-in Manager. It is critical for the users to know the development technologies / environment of AUT, and load right Add-Ins while invoking Quick Test Pro.

Contact:chanduatp@gmail.com +91-9986108024

Quick Test Professional - Record & Run Modes

  

Recording Modes Normal Analog Low level

Run Modes  Normal  Fast  Update

Contact:chanduatp@gmail.com +91-9986108024

Quick Test Professional -Tools  Options  General

Click on “Restore Layout” button to reset screens to the initial setting when QuickTest was first installed.

Contact:chanduatp@gmail.com +91-9986108024

Quick Test Professional - Tools  Options  Run

Contact:chanduatp@gmail.com +91-9986108024

Quick Test Professional - Options  Run

Best Practices for Options for Run Mode:

Run Mode as Normal:

This ensures that the execution arrow appears to help with trouble shooting the tests. Synchronization becomes better for the AUT (Application Under Test)

Test Results:

Deselect the option “View Results when run session ends”

Mercury Tool Integration:

Select "Allow other Mercury products to run tests and components“

Screen Capture:

Save step screen capture to results "On error and warnings"

Contact:chanduatp@gmail.com +91-9986108024

Automation  Record and Run Settings

Contact:chanduatp@gmail.com +91-9986108024

Record and Run Settings

Best Practices for Record & Run Settings Set the options to configure QTP to "Record and run test on any open Windows- based application“ Set the option - This window will appear the first time you click on the Record button in the new test. Manually recall this window by selecting AutomationRecord and Run settings

Contact:chanduatp@gmail.com +91-9986108024

QTP - Main Window

Contact:chanduatp@gmail.com +91-9986108024

QTP - Main Window

Test Pane: Test Pane contains two labs to view the tests, - Keyword View - Expert View Keyword View:  Quick Test Pro displays your test in the form of a collapsible, icon based tree… Expert View:  Quick Test Pro displays the source code (VB Script) of the tests in this view.

Contact:chanduatp@gmail.com +91-9986108024

Resources  Object Repository
Can add a New Object to the repository

The value of property can be edited here. More properties for recognizing the object can be added to the list.

Contact:chanduatp@gmail.com +91-9986108024

Resources  Object Repository Manager

Contact:chanduatp@gmail.com +91-9986108024

Resources  Associate Repositories

Add shared Repository

Contact:chanduatp@gmail.com +91-9986108024

Resources  Object Repository

Associate repository is added to the Filter option.

Contact:chanduatp@gmail.com +91-9986108024

Object Repository  Merging tool

Primary Repository.

Secondary Repository

Contact:chanduatp@gmail.com +91-9986108024

Object Repository  Comparison Tool

Comparing two repositories'

Contact:chanduatp@gmail.com +91-9986108024

VB Script basics – Data Types

Contact:chanduatp@gmail.com +91-9986108024

VB Script basics – Variables & Constants
     

Declaring Variables Naming Restrictions Scope and Lifetime of Variables Assigning Values to Variables Scalar Variables and Array Variables Creating Constants

Contact:chanduatp@gmail.com +91-9986108024

VB Script basics - Operators

Contact:chanduatp@gmail.com +91-9986108024

VB Script basics – Conditions & Looping

Conditional Statements  If...Then...Else statement  Select Case statement Looping  Do...Loop: Loops while or until a condition is true.

While...Wend: Loops while a condition is true. For...Next: Uses a counter to run statements a specified number of times. For each...Next: Repeats a group of statements for each item in a collection or each element of an array.

Contact:chanduatp@gmail.com +91-9986108024

VB Script basics – Functions

Contact:chanduatp@gmail.com +91-9986108024

Key areas in QTP
      

About the script structure Actions (Simple, Nested, External, Re-usable) Parameterization (Different Types) Checkpoints (Programmatic Methodology) Descriptive programming Adv. Synchronization points Exception Handling

Contact:chanduatp@gmail.com +91-9986108024

About the script structure

Contact:chanduatp@gmail.com +91-9986108024

Actions (Simple, Nested, External, Re-usable)
     

Standalone Actions Nested Actions Integration of Actions (Call from One Action to other) Driver Action (Main Action) Re-usable Actions External Call for Actions

Contact:chanduatp@gmail.com +91-9986108024

Parameterization

Classifications of Parameterization
   

Test and Action Parameters Data Table (Global & Action Specific) Environment variables Random Number

Contact:chanduatp@gmail.com +91-9986108024

Types of Checkpoints
Standard Checkpoint Image Checkpoint Table Checkpoint Page checkpoint Checks values of an object’s properties Checks the property values of an image Checks information in a table Checks the characteristics of a Web page Check that a radio button is selected. Check that the image source file is correct. Check that the value in a table cell is correct. Check how long a Web page takes to load or if a Web page contains broken links. Check whether the expected text string is displayed in the expected location on a Web page or dialog box Check that a Web page (or any portion of it) is displayed as expected.

Text / Text Area Checkpoint

Checks that a text string is displayed in the appropriate place in a Web page or application window Checks an area of a Web page or application after capturing it as a bitmap

Bitmap Checkpoint

Contact:chanduatp@gmail.com +91-9986108024

Types of Checkpoints
Database Checkpoint Accessibility Checkpoint Checks the contents of databases accessed by an application or Web site Identifies areas of a Web site to check for Section 508 compliancy Check that the value in a database query is correct. Check if the images on a Web page include ALT properties, required by the W3C Web Content Accessibility Guidelines. Note: XML file checkpoints are used to check a specified XML file; XML application checkpoints are used to check an XML document within a Web page.

XML Checkpoint

Checks the data content of XML documents

Contact:chanduatp@gmail.com +91-9986108024

Descriptive Programming Samples

Descriptive programming

Entering Programmatic Descriptions Directly into Statements Browser("Mercury Tours").Page("Title:=Mercury Tours").WebEdit("Name:=Author", "Index:=3").Set "Mark Twain"

Using Description Objects for Programmatic Descriptions Set MyDescription = Description.Create() MyDescription("text").Value = "OK" MyDescription("width").Value = 50 Window("Error").WinButton(MyDescription).Click

Contact:chanduatp@gmail.com +91-9986108024

Adv. Synchronization Points
   

Using tool menu options Wait property Programmatically Wait & exist

Contact:chanduatp@gmail.com +91-9986108024

Exception Handling
 

Recovery Scenario Concepts Recovery Process  Trigger Events  Recovery Operation  Post-recovery Operation

Contact:chanduatp@gmail.com +91-9986108024

Sample Script – QTP Functions
'sample 1 - Getting all the items from the combobox My_Cnt = Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount msgbox My_Cnt For i = 1 to My_Cnt ' the combobox item index will start from zero. My_item = Window("Flight Reservation").WinComboBox("Fly From:").GetItem(i-1) Msgbox My_item Next 'sample 2 - Getting the entire content of the combobox Var_Content = Window("Flight Reservation").WinComboBox("Fly From:").GetContent Msgbox Var_Content

          

Contact:chanduatp@gmail.com +91-9986108024

Sample Script – QTP Functions
 

'sample 3 - Selecting an item from the combo - Using Index Window("Flight Reservation").WinComboBox("Fly From:").Select(5) 'sample 4 - Selecting an item from the combo - Using Value Window("Flight Reservation").WinComboBox("Fly From:").Select("London") 'sample 5 - Selecting an item from the combo - Using Variable Var_Item = "Zurich" Window("Flight Reservation").WinComboBox("Fly From:").Select(Var_Item) 'sample 6 - Getting the value of selected item Var_Sel = Window("Flight Reservation").WinComboBox("Fly From:").GetSelection Msgbox Var_Sel

 

  

  

Contact:chanduatp@gmail.com +91-9986108024

Sample Script – QTP Functions
           

' Some FUM's (Frequently Used Methods) 'GetROProperty Var_Text = Window("Flight Reservation").WinEdit("Name:").GetROProperty("AttachedText") Msgbox Var_Text Var_Enab = Window("Flight Reservation").WinEdit("Name:").GetROProperty("Enabled") Msgbox Var_Enab 'Exist If Window("Flight Reservation").WinEdit("Name:").Exist(5) Then Msgbox "The Editbox exists" Else Msgbox "The Editbox does not exist" End if

Contact:chanduatp@gmail.com +91-9986108024

Thank You

Contact:chanduatp@gmail.com +91-9986108024

Sign up to vote on this title
UsefulNot useful