Thursday 11 September 2014

Object Repository Part-2

Associating shared OR:-
---------------------------
In general we prefer shared OR in organization,
Based on requirement we associate shared OR to an action script
Method1: from “Resources” menu

Navigation:  “Resources” menu

  >>Select “associated repositories”

  >>Click on “+” button

  >>Browse “shared OR “file path

  >>Select “Action name” in available Actions list

  >> Add into associated actions list 

  >>Click “OK” 

Method2: “Resources” menu>>Objrep>>Tools>>Associate rep.


Merge Shared Repositories:-
-------------------------------
We can merge two Shared Repositories into single repositories

Navigation:  OR manager

  >>Tools menu

  >>OR merge Tool

  >>Select the Primary, Secondary file

  >>OK

  We can save it has another file .tsr

* Based on the technology of application the class name of objects are like

Web (Html)  Windows     Java   .Net (Win)   Sap   Sap (win)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Web Edit   Win Edit   Java Edit   SwF Edit   Sap Edit   Sap GUI Edit
Web Button  Win Button  Java Button  SwF Button  Sap Button   SapGUI Button 

Swf-----Standard Win Form 

Object Repository Part-1


Object Repository
It has objects and it’s properties which are used in the script during runtime
the tool will search for the object repository, based on properties it will recognize the object in application.

Object Repository Types:-
In QTP we have 2 types of OR’s

a.Local OR (per-Action)
b.Shared OR


a.Local OR:-
------------------
It is a default OR type for each action in QTP

 For each action QTP provides individual Local OR

 When we save\open test by default QTP implicitly save\open corresponding Local OR
  w.r to test

 **Local OR file extension is .bdb (Berkeley DB) from QTP 9.2 version

Disadvantage:

Local OR test objects are not reusable for other actions

Local OR files are not possible to open explicitly
  (by open test in QTP only we can see the test object in Local OR)

b.Shared OR file:-
------------------
In General we prefer Shared OR file in Organization

Where as explicitly TE has to create shared OR file by collecting required Test objects

information and he need to associate shared repository file to the required action

Shared OR file extension is .tsr (Test shared Repository / Test Script Rpository)

Advantage: -
---------------

Shared OR file we can reuse for different actions in different tests

Maintaining all test objects at one location is easy when updates are required

To modify The Shared Object Repository Select Enable for editing and then modify

Nav: Resources>>Objrepositorymanager>>File>>open sharedobjRep>>Filemenu>Enable





Launching application using Script PART-2


VB Script for web based application to perform operations

Object type
Object Class
Browser
Browser(“Browser name”)
Page
Page(“Page name”)
Frame
Frame(“Frame name”)
Table
WebTable(“Table name”)
Link
Link(“Link name”)
Edit box/Text box
WebEdit(“Edit box name”)
List box/combobox
Weblist(“list box name”)
Check box
WebCheckbox(“checkbox name”)
Push button
WebButton(“object name”)
Image
Image(“image name”)
Pop-up window
Dialog(“pop-up window name”)
Radio group
webRadiogroup(“Group name”)

VB Script statement to perform operation on web based application object
Browser(“Browser name”).Page(“Page name”).Objectclass(“object name”).Method “Value”

Ex: Write script to open mercury web tours application and to register user
Step 1: open web application (URL= http://newtours.demoaut.com)
Step 2: click on “Register here” link
Step 3: enter “Rahul” in “First Name” edit box
Step 4: enter “Mindq” in “Last Name” edit box
Step 5: select “INIDIA” in “Country” list box
Step 6: enter “Rahul” in “User name” edit box
Step 7: enter “Mindq” in “Password” edit box
Step 8: enter “Mindq” in “Confirm password” edit box
Step 9: click on “Submit”

Script:
invokeapplication "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://newtours.demoaut.com"
browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Link("Register here").Click
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("firstName").Set"Praveen"
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("lastName").Set "Kalepu"
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebList("country").Select "INDIA"
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("email").Set "rakesh"
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").Set "rakesh1"
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("confirmPassword").Set "rakesh1"
browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").Image("register").Click

Ex: Write script to perform login operation in mercury web tours application
Step 1: enter user name as “Rahul005”
Step 2: enter pwd as “Mindq”

Step 3: click on “sign-in” button

=========================================
=========================================

Launching application using Script PART-1

Launching application using Script:
There are 2 types of functions to launch application during runtime

  1. Invokeapplication:
  2. SystemUtil.Run:
  1. Invokeapplication:
Using this function we can open applications during runtime (only .exe file)
Where as it supports only .exe files
Syntax: to open windows based applications
Invokeapplication “path of application”

Ex: write script to open “Calculator” application

Syntax: to open web based applications
Invokeapplication “ browser_path Application_URL”

Ex: write Script to open Google.co.in web site
Script:
invokeapplication "C:\Program Files\Internet Explorer\IEXPLORE.EXE www.google.co.in"

  1. SystemUtil.Run:

     Using this utility function we can open application and any system file during runtime

     This function will return status into test result window

     Syntax: to open any system file/windows based application
     SystemUtil.Run “Path of file/application”

    Syntax: to open web based application
    SystemUtil.Run “browser_path”, “application_URL”
    
    Script:

    systemutil.Run "iexplore.exe",www.google.co.in



Object Identification during Runtime/Test Object Model (TOM)


Test Object: 
Objects which are exist in “Object Repository”
Where Test object consist some of the description property values

Runtime Object: 
Objects which are exist in AUT
Where Runtime object consist all the property values which are provided by developer
During runtime QTP use Test object description property values to identify runtime object in AUT, based on logical name used in the script

Learning process:
Adding new test objects into Object Repository is called learning or application maps
Learning can be performed in 2 ways:

1.      Auto-learning:
During recording by default QTP captures application object description properties on which object we perform operation and then collected description properties QTP maintain in the local OR
2.      Pre-learning:
When we write script manually at that time QTP is not able to collect corresponding Test object description properties.TE is responsible to add required Test objects in the Object repository based on which objects QTP need to perform operations
Navigation:
Ø  “Resources” menu in QTP
Ø  Select “Object Repository”
Ø  “Object” menu in OR
Ø  Select “Add objects to local” option
Ø  Click on application object
Ø  Click on “OK” after confirmation
Ø  Select Filter option based on requirement
Ø  Click on “OK”

Note: During pre-learning when we select parent object in application then QTP provides following Filter options
a.      Selected object only:
When we select this option QTP collects only parent object information without child objects

b.      Default object types:
In general we prefer this filter option
When we select this option QTP collects parent object and child objects information on which objects we can perform operations

c.       All object types:
When we select this option QTP collects parent object and all the child objects information including static text and static images

d.      Selected object types:
Using this filter option we can add specified class objects information only from parent object

Ex: add all the “Button” class test objects information only into OR from “FR” window

Ex: write script to select “Font…” option in “Format” menu in Notepad application