41
Contact:[email protected] +91-9986108024 Automation Fundamental Concepts and Intro. about QTP 9.2 -- Chandra Sekhar

About QTP 9.2

Embed Size (px)

Citation preview

Page 1: About QTP 9.2

Contact:[email protected]+91-9986108024

Automation Fundamental Concepts and Intro. about QTP 9.2

--Chandra Sekhar

Page 2: About QTP 9.2

Contact:[email protected]+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

Page 3: About QTP 9.2

Contact:[email protected]+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

Page 4: About QTP 9.2

Contact:[email protected]+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

Page 5: About QTP 9.2

Contact:[email protected]+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

Page 6: About QTP 9.2

Contact:[email protected]+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 SolutionsQuickTest Professional Siebel Add-in 8.0*QuickTest Professional Stingray Add-in 8.2QuickTest Professional Terminal Emulator Add-in 8.0*QuickTest Professional VisualAge Smalltalk Add-in 8.2QuickTest Professional Web Services Add-in 9.2

Page 7: About QTP 9.2

Contact:[email protected]+91-9986108024

Supported Browsers

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

Page 8: About QTP 9.2

Contact:[email protected]+91-9986108024

Add-in Manager

Default Add-ins ActiveX Visual basic Web

Other Add-Ins Siebel Java SAP Oracle .Net and many more

Page 9: About QTP 9.2

Contact:[email protected]+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.

Page 10: About QTP 9.2

Contact:[email protected]+91-9986108024

Quick Test Professional - Record & Run Modes

Recording Modes Normal Analog Low level

Run Modes Normal Fast Update

Page 11: About QTP 9.2

Contact:[email protected]+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.

Page 12: About QTP 9.2

Contact:[email protected]+91-9986108024

Quick Test Professional - Tools Options Run

Page 13: About QTP 9.2

Contact:[email protected]+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"

Page 14: About QTP 9.2

Contact:[email protected]+91-9986108024

Automation Record and Run Settings

Page 15: About QTP 9.2

Contact:[email protected]+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 AutomationRecord and Run settings

Page 16: About QTP 9.2

Contact:[email protected]+91-9986108024

QTP - Main Window

Page 17: About QTP 9.2

Contact:[email protected]+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.

Page 18: About QTP 9.2

Contact:[email protected]+91-9986108024

Resources Object Repository

Can add a New Object to the repository

More properties for recognizing the object

can be added to the list.

The value of property can be edited here.

Page 19: About QTP 9.2

Contact:[email protected]+91-9986108024

Resources Object Repository Manager

Page 20: About QTP 9.2

Contact:[email protected]+91-9986108024

Resources Associate Repositories

Add shared Repository

Page 21: About QTP 9.2

Contact:[email protected]+91-9986108024

Resources Object Repository

Associate repository is added to the Filter

option.

Page 22: About QTP 9.2

Contact:[email protected]+91-9986108024

Object Repository Merging tool

Secondary Repository

Primary Repository.

Page 23: About QTP 9.2

Contact:[email protected]+91-9986108024

Object Repository Comparison Tool

Comparing two repositories'

Page 24: About QTP 9.2

Contact:[email protected]+91-9986108024

VB Script basics – Data Types

Page 25: About QTP 9.2

Contact:[email protected]+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

Page 26: About QTP 9.2

Contact:[email protected]+91-9986108024

VB Script basics - Operators

Page 27: About QTP 9.2

Contact:[email protected]+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.

Page 28: About QTP 9.2

Contact:[email protected]+91-9986108024

VB Script basics – Functions

Page 29: About QTP 9.2

Contact:[email protected]+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

Page 30: About QTP 9.2

Contact:[email protected]+91-9986108024

About the script structure

Page 31: About QTP 9.2

Contact:[email protected]+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

Page 32: About QTP 9.2

Contact:[email protected]+91-9986108024

Parameterization

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

Page 33: About QTP 9.2

Contact:[email protected]+91-9986108024

Types of Checkpoints

Standard Checkpoint Checks values of an object’s properties Check that a radio button is selected.

Image Checkpoint Checks the property values of an image

Check that the image source file is correct.

Table Checkpoint Checks information in a table Check that the value in a table cell is correct.

Page checkpoint Checks the characteristics of a Web page Check how long a Web page takes to load or if a Web page contains broken links.

Text / Text Area Checkpoint

Checks that a text string is displayed in the appropriate place in a Web page or application window

Check whether the expected text string is displayed in the expected location on a Web page or dialog box

Bitmap Checkpoint Checks an area of a Web page or application after capturing it as a bitmap

Check that a Web page (or any portion of it) is displayed as expected.

Page 34: About QTP 9.2

Contact:[email protected]+91-9986108024

Types of Checkpoints

Database Checkpoint

Checks the contents of databases accessed by an application or Web site

Check that the value in a database query is correct.

Accessibility Checkpoint

Identifies areas of a Web site to check for Section 508 compliancy

Check if the images on a Web page include ALT properties, required by the W3C Web Content Accessibility Guidelines.

XML Checkpoint Checks the data content of XML documents

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.

Page 35: About QTP 9.2

Contact:[email protected]+91-9986108024

Descriptive Programming Samples

Descriptive programming

Entering Programmatic Descriptions Directly into StatementsBrowser("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 = 50Window("Error").WinButton(MyDescription).Click

Page 36: About QTP 9.2

Contact:[email protected]+91-9986108024

Adv. Synchronization Points Using tool menu options Wait property Programmatically Wait & exist

Page 37: About QTP 9.2

Contact:[email protected]+91-9986108024

Exception Handling Recovery Scenario Concepts Recovery Process

Trigger Events Recovery Operation Post-recovery Operation

Page 38: About QTP 9.2

Contact:[email protected]+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

Page 39: About QTP 9.2

Contact:[email protected]+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

Page 40: About QTP 9.2

Contact:[email protected]+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

Page 41: About QTP 9.2

Contact:[email protected]+91-9986108024

Thank You