what is descriptive programming in QTP and what is
environment variable in QTP? where we store and what is its use?
Answers were Sorted based on User's Feedback
Answer / manyam.muralireddy
descriptive programming: with out using object repository
to execute the test script.main purpose test execution is
faster.enviroment variable are two types: user
defined,system defined.
Is This Answer Correct ? | 3 Yes | 1 No |
Answer / nandhu
Following is taken from: sqaforums:
Link:
http://www.sqaforums.com/showflat.php?
Cat=0&Number=220886&an=0&page=0#Post220886
Descriptive programming is nothing but a technique using
which operations can be performed on the AUT object which
are not present in
the OR. For more details refer to
http://bondofus.tripod.com/QTP/DP_in_QTP.doc
Is This Answer Correct ? | 2 Yes | 2 No |
Answer / hari
'************************************************
LOCATE *****************************************
Environment.LoadFromFile "[QualityCenter] Subject\WSOP8012-
SEP 08 CL\WSOP Automation Framework\Library
Function\Environment.ini"
GUILocate=Environment("GUILocate")
LocateSheet=Environment("LocateSheet")
RateSheet=Environment("RateSheet")
ZipCode=Environment("ZipCode")
'************************************************Locate
Object Creation*********************************************
CheckStatus(GUILocate)
Set Main=CreateruntimeObject(LocateSheet,"Main")
If Window(Main).Exist(0) Then
Else
Set Main=Alternateobject
(LocateSheet, "Main")
End If
Set Text1=CreateruntimeObject(LocateSheet,"Text1")
Set Locate=CreateruntimeObject(LocateSheet,"Locate")
Set UCMain=CreateruntimeObject(LocateSheet,"UCMain")
Set Dialogbutton=CreateruntimeObject
(LocateSheet,"Dialogbutton")
Set Clearf =CreateruntimeObject(LocateSheet,"Clearf ")
Set LocTable =CreateruntimeObject(LocateSheet,"LocTable ")
Set DialogBox=CreateruntimeObject(LocateSheet,"DialogBox")
Set btnLoc=CreateruntimeObject(LocateSheet,"btnLoc")
Set Pg=CreateruntimeObject(LocateSheet,"Pg")
Set RateTab=CreateruntimeObject(RateSheet,"RateTab")
Set btnHelp=CreateruntimeObject(LocateSheet,"lblHelp")
Set HelpMain=CreateruntimeObject(LocateSheet,"HelpMain")
Set HelpPage=CreateruntimeObject(LocateSheet,"HelpPage")
Set lblHelpClose=CreateruntimeObject
(LocateSheet,"lblHelpClose")
Set Web=CreateruntimeObject(LocateSheet,"Web")
Set HelpWin=CreateruntimeObject(LocateSheet,"HelpWin")
Window(Main).Activate
var=Window(Main).Page(Pg).ActiveX
(UCMain).SwfButton(btnLoc).Exist
If var Then
Window(Main).Page
(Pg).ActiveX(UCMain).SwfButton(btnLoc).Click'click on the
Locate tab
else
Msgbox "Locate Screen is not opened for
GUI Testing"
ExitTest
End If
' //////////////////////////////////////////////////////////
///////////////////////// code starts
here ///////////////////////////////////////////////
////////////////////////////////
'-----------------------------------------------------------
------ Connection Database -------------------------------
-----------------------------------------------
Set conn= fgGetConnection
set recset=createobject
("ADODB.RECORDSET")
recset.CursorType = 3
qry="Select
ObjectType,Objval,Objroproperty,Expected from
[Locate_GUI$] where ObjectType is not null and
TestStatus='Y' "
recset.Open qry, conn
cntre=recset.RecordCount
'------------------------------------------------------
Function Calls ---------------------------------------------
-----------------------------------------------
Call LocateMenu()
Call TestSet()
Call FontCheck()
Call BusinessValidation()
Call LocateTable()
Call HelpWindowChecking()
'-----------------------------------------------------------
------ Fetch GUI Datas from Database ----------------------
--------------------------------------------------------
Public function LocateMenu()
var=Window(Main).Page(Pg).ActiveX(UCMain).SwfButton
(btnLoc).Exist
If var Then
Window(Main).Page(Pg).ActiveX
(UCMain).SwfButton(btnLoc).Click
Window(Main).ActiveX
(UCMain).SwfLabel(Clearf).Click'click on thed Rate button
of the menu
Call UpdateResult
("Locate_Menu","Passed")
else
Call UpdateResult
("Locate_Menu","Failed")
Window(Main).Page(Pg).ActiveX
(UCMain).SwfButton(btnLoc).Click
End If
End Function
Public function TestSet()
'-------------------
--------------------------------- Checking whether the
webelements are in the window ---------------------------
--------------------------------------------------------
For i=1 to cntre
objecttype= recset.Fields(0)
objeval= recset.Fields(1)
objpty= recset.Fields(2)
Expected= recset.Fields(3)
Select Case objecttype
Case "SwfEdit"
Actual= Window(Main).Page(Pg).ActiveX
(UCMain).SwfEdit("swfname:="&objeval).Getroproperty(objpty)
Case "SwfButton"
Actual= Window(Main).Page
(Pg).ActiveX(UCMain).SwfButton("swfname
path:="&objeval).Getroproperty(objpty)
Case "SwfLabel"
Actual= Window(Main).Page(Pg).ActiveX
(UCMain).SwfLabel("swfname:="&objeval).Getroproperty(objpty)
Case "SwfTable"
Actual= Window(Main).Page(Pg).ActiveX
(UCMain).swftable("swfname path:="&objeval).Exist
End Select
Call Compare(Expected,
Actual,objeval,objpty)
recset.movenext
Next
End Function
'-----------------------------------------------------------
---------- Comparison Function -------------------------
------------------------------------------------------------
---------------------------
'comparing the expected result & Acutal result
Function Compare(Expected,Actual,ObjectVal,Pty)
If Trim(Expected)=Trim
(Actual) Then
Call ResultupdateGUI
(conn,GUILocate,"Locate_Screen","Passed","Executed",ObjectVa
l,Pty)
Else
Call ResultupdateGUI
(conn,GUILocate,"Locate_Screen","Failed","Executed",ObjectVa
l,Pty)
end if
End Function
'-----------------------------------------------------------
--- Compare Tab Font Function -------------------------
----------------------------------------------------
'Clicking on other tab and clicking the Locate tab again
for checking the font validation
Function FontCheck()
wdth=Window(Main).Page(Pg).ActiveX(UCMain).SwfButton
(btnLoc).GetROProperty("Width")
var= Window(Main).Page(Pg).ActiveX(UCMain).SwfButton
(RateTab).Exist
If var Then
Window(Main).Page(Pg).ActiveX
(UCMain).SwfButton(RateTab).Click
var1=Window(Main).Page(Pg).ActiveX
(UCMain).SwfButton(btnLoc).Exist
If var1 Then
Window(Main).Page(Pg).ActiveX(UCMain).SwfButton
(btnLoc).Click
wdth1=Window(Main).Page(Pg).ActiveX
(UCMain).SwfButton(btnLoc).GetROProperty("Width")
If
wdth=wdth1 Then
call UpdateResult
("Locate_Tab_Font","Passed")
else
call UpdateResult
("Locate_Tab_Font","Failed")
End
If
End IF
End
IF
End Function
'-----------------------------------------------------------
------------- Result update on excel sheets ------------
--------------------------------------------------
'Update the excel sheet for functional related GUI
testcases.
public Function UpdateResult(Testset,Result)
Call Resultupdate
(conn,GUILocate,Testset,1,Result,"Executed")
END Function
'-----------------------------------------------------------
------------- Business Validation --------------------
------------------------------------------
Function BusinessValidation()
Window
(Main).ActiveX(UCMain).SwfEdit(Text1).Set ""
Window
(Main).ActiveX(UCMain).SwfButton(Locate).Click
wait(1)
var = Window(Main).Dialog(DialogBox).exist(0)
If var Then
Window(Main).Dialog(DialogBox).WinButton
(Dialogbutton).Click
Call UpdateResult
("Locate_Business_Validation","Passed")
Else
Call UpdateResult
("Locate_Business_Validation","Failed")
End
IF
End Function
'-----------------------------------------------------------
------------- Textbox Validation & web service ----------
----------------------------------------------------
'checking for the textbox setting value & webservice error
message
Function LocateTable()
i=1
'ZipCode=fgGetData
(conn, "L_Zipcode", GUILocate,i, "Locate_TestData") ' can
use the environment variable for this.
Window(Main).ActiveX(UCMain).SwfEdit
(Text1).Set ZipCode
val=Window(Main).ActiveX
(UCMain).SwfEdit(Text1).GetROProperty("Text")
If val=ZipCode Then
Call UpdateResult("Locate_Textbox_Set","Passed")
else
Call UpdateResult("Locate_Textbox_Set","Failed")
End If
Window(Main).ActiveX(UCMain).SwfButton
(Locate).Click
wait
(1)
var = Window(Main).Dialog(DialogBox).exist(0)
If var Then
Window(Main).Dialog
(DialogBox).WinButton(Dialogbutton).Click
Call UpdateResult
("Locate_WebService_Error","Passed")
else
Call
LocateCountRows()
' Call
TableHeader() 'need to complete
End IF
End Function
'**********************Count the Rows Displayed After
Entering the Zip Code on Find Location
Screen****'**************
Public Function LocateCountRows()
var=Window(Main).ActiveX
(UCMain).swftable(LocTable).RowCount
If var<4 Then
Call UpdateResult
("Locate_Table_Values","Passed")
else
Call UpdateResult
("Locate_Table_Values","Passed")
End If
End Function
'-----------------------------------------------------------
------------- Table values ----------------------------
----------------------------------
'checking for the Table header values.
Function TableHeader()
var=Window(Main).ActiveX(UCMain).swftable
(LocTable).GetCellData(0,0)
MsgBox var
End Function
'-----------------------------------------------------------
------------- Help Window ----------------------------
----------------------------------
Function HelpWindowChecking()
Window
(Main).Page(Pg).ActiveX(UCMain).SwfButton(btnLoc).Click
Window
(Main).Page(Pg).ActiveX(UCMain).SwfLabel(btnHelp).Click
var=Window
(Main).SwfWindow(HelpMain).Exist(1)
If var Then
Call UpdateResult
("Locate_HelpWindow_Exist","Passed")
else
Call UpdateResult
("Locate_HelpWindow_Exist","Failed")
End If
valText=Window
(Main).Window(HelpWin).WebElement(Web).Object.innertext
HelpText=fgGetData
(conn, "L_Text", GUILocate,1, "Locate_Help_Text_Data")
If Trim(valText)
=trim(HelpText) Then
Call
UpdateResult("Locate_Help_Text","Passed")
else
Call
UpdateResult("Locate_Help_Text","Failed")
End If
Window(Main).SwfWindow
(HelpMain).SwfLabel(lblHelpClose).Click
var1=Window(Main).SwfWindow
(HelpMain).Exist(1)
If var1 Then
Call UpdateResult
("Locate_Help_Close","Failed")
else
Call UpdateResult
("Locate_Help_Close","Passed")
End If
End Function
Is This Answer Correct ? | 1 Yes | 2 No |
i created script for login in QTP,i parametirized that using global sheet,problem i am facing is first i want to login with first values provided in excelsheet and want to perform some operation,second time if call same action it should login with second values in excelsheet
How to write functional test cases for send button in gmail.
Mention if qtp generates vbscript code as we record actions, can't it possible to directly write using vbscript code when qtp does the same thing too?
How to replace junk code recorded by QTP with a mall function.
What is the purpose of on error resume next statement?
Explain How do you create a recordset object in vbscript?
What is the use of the recordset object and which statement is used to create such an object?
We have an application which is built using multiple technologies and are using QTP as the tool for Automating the same. While we spy over a combo box in this application, we get the object name as a "Combo Control" and we are not able to perform any action over this object in either selecting or checking any method for the same like "Exist" etc. Hence we thought of a solution and the same can be found below
Hi, I need to accept user inputs for login at runtime.I know i can use Inputbox but how to proceed further that i dont know. Thanks in advance
How to find arry size in qtp vb script
1) How can we use VB script in testing the application? 2) What all are the things(Software application to be installed in PC) we need to learn VBscript?
How to generate 3 digit random number?