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 |
hai all.iam chandu..please let me know how to test a link in QTP when it is changing at run time..and what property we should take while we r using descriptive programming for a link..
Hi Friends, I am facing some issues with If,else condition,i.e. i am working on some web page for ex:gmail page.now if i want to check if username is incorrect or already exist,i want to display error message in my test report,for this i am using a simple code first,i.e. If Browser("Gmail: Email from Google").Page("Gmail: Email from Google").WebEdit("Email").Set "Shekhar.g"= true Then Msgbox ("Username Does not Exist!") Else msgbox ("Welcome !") End If But still i am getting a syntax error If Browser("Gmail: Email from Google").Page("Gmail: Email from Google").WebEdit("Email").Set "shekhar.g"= true Then Msgbox ("Username Does not Exist!") Else msgbox ("Welcome !") End If I don't feel any thing wrong in this syntax but i don't understand why it shows such error,i am confused what went wrong,please help me out & do the favor,thanks a lot....
Is VBscript case-sensitive?
Explain the functionality of vbscript?
Here in my automation tool, i am retreiving some values and i need to store this values in the excel. How can i achieve this?. We are using VBA as scripting language. please let me know if you require any further inputs.
How will you get the smallest subscript of an array in vbscript?
compare the string without using stringcomp function?
who will create the object?
Explain about the functionality of vb script?
write any ttest cases using check points and parameterization
What is the technology used by vb script?
Explain about adodb.stream class?