Blog for QuickTest Pro (QTP) posts for experts and contains frameworks and scripts
Data driven testing using excel in QTP
In this script we are not importing excel sheet to datatable. Directly values are supplied to application from excel sheet.
set ex= CreateObject("Excel.Application")
Set a=ex.Workbooks.open("D:\excel.xls")
Set b=a.worksheets("Sheet1")
dim login, pwd
for i=1 to 3
login=b.Cells(i,"A").value
pwd=b.Cells(i,"B").value
msgbox login
msgbox pwd
next
"D:\excel.xls" is path of excel sheet.
"sheet1" indicates sheet name in which values are present.
A,B are column names in excel sheet.
we have excel sheet with values as shown below in d drive.
A B
1 2
3 4
5 6
Count & Close all browsers
Set ab=Description.Create
ab("micclass").value="Browser"
Set obj=Desktop.ChildObjects(ab)
msgbox obj.count
For i=0 to obj.count-1
c=obj(i).getroproperty("name")
msgbox(c)
obj(i).Close
Next
Descriptive programming example
In this script we will check whether yahoologinpage(www.yahoomail.com) checkbox is checked or not
Set g=Browser("name:=Yahoo.*").Page("title:=Yahoo.*")
Set obj=Description.Create
obj("htmltag").value="Input"
obj("ClassName").value="webcheckbox"
obj("type").value="checkbox"
Set a=g.childobjects(obj)
c=a(0).getroproperty("checked")
msgbox(c)
If c=0 Then
msgbox "checkbox is not checked"
else
msgbox"checkbox is checked"
End If
Data Driven Testing using Notepad in QTP
f=createobject("scripting.filesystemobject")
Set f1=f.createtextfile("d://file1.txt")
f1.writeline"aaa bbb"
f1.writeline"ccc ddd"
f1.writeline"eee fff"
f1.writeline"ggg hhh"
f1.writeline"iii jjj"
The above script creates a notepad in "d" drive with name file1
aaa bbb
ccc ddd
eee fff
ggg hhh
iii jjj
values are stored in file1.txt.
Set f2=f.opentextfile("d://file1.txt")
While f2.atendofstream<>true
f3=f2.readline
x=split(f3," ")
msgbox x(0)
msgbox x(1)
Wend
The above script is used for data driven using notepad directly.here we are not importing data to excel sheet.
directly values are retreived from notepad.
we are using while loop and reading each line till the end.
split function splits the line where space(" ")occurs.
line is divided to 2 parts.one before space and other after space
for example we have 1st line in notepad as aaa bbb
here aaa is 1st part and bbb is 2nd part
x(0)=aaa
x(1)=bbb
all values are read this way using while loop.
One point to note here is if any line is empty in notepad datadriven testing is stopped before that line.
It will not proceed further.so we have to give values without any empty lines in notepad.
To make u more clear,
suppose u have
aaa bbb
ccc ddd
Datadriven is stopped at aaa and bbb only because next line is empty.datadriven is stopped after 1st line.