Automation Fundamental Concepts and Intro. about QTP 9.2 --Chandra Sekhar
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
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
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
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
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 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:
[email protected] +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:
[email protected] +91-9986108024
Add-in Manager
Contact:
[email protected] +91-9986108024
Default Add-ins ActiveX Visual basic Web
Other Add-Ins Siebel Java SAP Oracle .Net and many more
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:
[email protected] +91-9986108024
Quick Test Professional - Record & Run Modes
Recording Modes
Normal Analog Low level
Run Modes Normal Fast Update
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.
Contact:
[email protected] +91-9986108024
Quick Test Professional - Tools Options Run
Contact:
[email protected] +91-9986108024
Quick Test Professional - Options Run
Best Practices for Options for Run Mode:
Run Mode as Normal:
Test Results:
Deselect the option “View Results when run session ends”
Mercury Tool Integration:
This ensures that the execution arrow appears to help with trouble shooting the tests. Synchronization becomes better for the AUT (Application Under Test)
Select "Allow other Mercury products to run tests and components“
Screen Capture:
Save step screen capture to results "On error and warnings"
Contact:
[email protected] +91-9986108024
Automation Record and Run Settings
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
Contact:
[email protected] +91-9986108024
QTP - Main Window
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.
Contact:
[email protected] +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:
[email protected] +91-9986108024
Resources Object Repository Manager
Contact:
[email protected] +91-9986108024
Resources Associate Repositories
Add shared Repository
Contact:
[email protected] +91-9986108024
Resources Object Repository
Associate repository is added to the Filter option.
Contact:
[email protected] +91-9986108024
Object Repository Merging tool
Primary Repository.
Secondary Repository
Contact:
[email protected] +91-9986108024
Object Repository Comparison Tool
Comparing two repositories'
Contact:
[email protected] +91-9986108024
VB Script basics – Data Types
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
Contact:
[email protected] +91-9986108024
VB Script basics - Operators
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.
Contact:
[email protected] +91-9986108024
VB Script basics – Functions
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
Contact:
[email protected] +91-9986108024
About the script structure
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
Contact:
[email protected] +91-9986108024
Parameterization
Classifications of Parameterization
Test and Action Parameters Data Table (Global & Action Specific) Environment variables Random Number
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.
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.
Contact:
[email protected] +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:
[email protected] +91-9986108024
Adv. Synchronization Points
Using tool menu options Wait property Programmatically Wait & exist
Contact:
[email protected] +91-9986108024
Exception Handling
Recovery Scenario Concepts Recovery Process Trigger Events Recovery Operation Post-recovery Operation
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
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
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
Contact:
[email protected] +91-9986108024
Thank You
Contact:
[email protected] +91-9986108024