Pages

Tuesday, March 1, 2011

Code for Data Driven testing in QTP

On Error Resume Next

'Path of the Input Folder
FilePath_Home="c:\TestData.xls\"
exe_Name="NY_UI Automation Scenarios_Attachment K_latest1"
'Kill the Processes
endprocess("EXCEL.EXE")
endprocess("Iexplore.exe")
'Get the TimeandDate
ResFile = Creationfiletime

Set vExcel = CreateObject("Excel.application")
'vExcel.Workbooks.Open FilePath & "TestData.xls"
vExcel.Workbooks.Open FilePath_Home & exe_Name

'print FilePath_Auto & exe_Name&space(2)& ResFile & ".xls"
VExcel.Activeworkbook.saveas FilePath_Home & exe_Name&space(2)& ResFile & ".xls"

vExcel.application.visible = True
'Num_Sheets=vExcel.sheets.count
IntNoofrows=vExcel.Sheets(1).usedrange.rows.count 'No of used rows

set vExcelSheet=vExcel.Sheets(1)' Focus on First Sheet

systemutil.Run "IEXPLORE.EXE","https://www.google.com"




Row_No=2

for Row=Row_No to IntNoofrows


strBrowserName=trim(vExcelSheet.cells(Row,2))
strScreenName=trim(vExcelSheet.cells(Row,3))
strFieldName=trim(vExcelSheet.cells(Row,4))
strObjectType=trim(vExcelSheet.cells(Row,5))
strAction=trim(vExcelSheet.cells(Row,6))
strvalue=trim(vExcelSheet.cells(Row,7))
strExpectedResult=trim(vExcelSheet.cells(Row,8))


Set BrowserPage=Browser(strBrowserName).page(strScreenName)
'err.clear
'On error goto 0
'On error resume next

BrowserPage.Sync

err.clear
strStatus=""
Select Case Lcase(strObjectType)


Case "webedit"

'If BrowserPage.WebEdit(strFieldName).Exist(5) Then
bWeb_Edit=BrowserPage.WebEdit(strFieldName).Exist
If bWeb_Edit="True" and err.number=0 Then

Select Case Lcase(strAction)

Case "verify"
App_Val=BrowserPage.WebEdit(strFieldName).GetROProperty("value")
'msgbox App_Val & strvalue
If trim(lcase(App_Val))=trim(lcase(strvalue)) Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "set"
' wait 3
If BrowserPage.WebEdit(strFieldName).exist Then
BrowserPage.WebEdit(strFieldName).Set Trim(strvalue)
strStatus="PASS"
else
strStatus="FAIL"
End If
Case "disable"
val=BrowserPage.WebEdit(strFieldName).GetROProperty("disabled")
If Strcomp(val,strvalue)=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "enable"
val=BrowserPage.WebEdit(strFieldName).GetROProperty("disabled")
If Strcomp(val,strvalue)=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "mandatory"
val=BrowserPage.WebEdit(strFieldName).GetROProperty("class")
If strcomp(lcase(val),"mandatoryfield")=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "visible"
Val=BrowserPage.WebEdit(strFieldName).exist
If Strcomp(lcase(Val),Lcase(strvalue))=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
' val=BrowserPage.WebEdit(strFieldName).GetROProperty("visible")
' If Strcomp(lcase(val),Lcase(strvalue))=0 Then
' strStatus="PASS"
' Else
' strStatus="FAIL"
' End If
End Select

else
strStatus="FAIL_Field NotPresent"
' msgbox "yes"
wait 2
End If

Case "wait"
Wait strvalue


'--------------------------WebList ----------------------

Case "weblist"

'If BrowserPage.WebList(strFieldName).Exist(3) Then
bWeb_List=BrowserPage.WebList(strFieldName).Exist
If bWeb_List="True" and err.number=0 Then
'If bWeb_List=True or bWeb_List="" Then
Select Case Lcase(strAction)
Case "verify"
App_val=BrowserPage.WebList(strFieldName).GetROProperty("all items")
' msgbox App_val & strvalue
If Instr(Trim(App_Val),trim(strvalue))>0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If

Case "verifylist"
App_val=BrowserPage.WebList(strFieldName).GetROProperty("all items")
' msgbox App_val & strvalue
If Instr(Trim(App_Val),trim(strvalue))=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "select"
If BrowserPage.WebList(strFieldName).exist Then
BrowserPage.WebList(strFieldName).Select Trim(strvalue)
strStatus="PASS"
else
strStatus="FAIL"
End If
Case "disable"
val=BrowserPage.WebList(strFieldName).GetROProperty("disabled")
If val=1 Then
strStatus="PASS"
else
strStatus="FAIL"
End If
Case "enable"
val=BrowserPage.WebList(strFieldName).GetROProperty("disabled")
Case "mandatory"
val=BrowserPage.WebList(strFieldName).GetROProperty("class")
Case "visible"
val=BrowserPage.WebList(strFieldName).GetROProperty("visible")
Case "verifydefault"
val=BrowserPage.WebList(strFieldName).GetROProperty("selection")

If strcomp(val,Trim(strvalue))=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End if
End Select
else
' msgbox err.description
strStatus="FAIL_Field NotPresent"
' msgbox "yes"

wait 2
End If

Case "image"
'If BrowserPage.Image(strFieldName).Exist(10) Then
bWeb_Image=BrowserPage.Image(strFieldName).Exist
If bWeb_Image="True" and err.number=0 Then
Select Case Lcase(strAction)
Case "click"
'msgbox Row
wait 2
If BrowserPage.Image(strFieldName).exist Then
BrowserPage.Image(strFieldName).Click
strStatus="PASS"
else
strStatus="FAIL"
End If
End Select
else
strStatus="NotPresent"
' msgbox "yes"
wait 2
End If

Case "webbutton"
'If BrowserPage.WebButton(strFieldName).Exist(10) Then
bWeb_Button=BrowserPage.WebButton(strFieldName).Exist
If bWeb_Button="True" and err.number=0 Then
Select Case Lcase(strAction)
Case "click"
BrowserPage.WebButton(strFieldName).Click
strStatus="PASS"
Case "disable"
val=BrowserPage.WebButton(strFieldName).GetROProperty("disabled")
Case "visible"
val=BrowserPage.WebButton(strFieldName).object.disabled
If strcomp(val,Trim(strvalue))=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End if
End Select
else
strStatus="FAIL_Field NotPresent"
' msgbox "yes"
wait 2
End If


Case "webradiogroup"
Web_radio_group=BrowserPage.WebRadioGroup(strFieldName).Exist

If Web_radio_group="True" and err.number=0 Then
Select Case Lcase(strAction)
Case "verify"
App_Val=BrowserPage.WebRadioGroup(strFieldName).GetROProperty("all items")
If Instr(Trim(App_Val),trim(strvalue))>0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "select"
If BrowserPage.WebRadioGroup(strFieldName).exist Then
BrowserPage.WebRadioGroup(strFieldName).Select Trim(strvalue)
strStatus="PASS"
Else
strStatus="FAIL"
End If
Case "disable"
val=BrowserPage.WebRadioGroup(strFieldName).GetROProperty("disabled")
Case "enable"
val=BrowserPage.WebRadioGroup(strFieldName).GetROProperty("disabled")
Case "mandatory"
val=BrowserPage.WebRadioGroup(strFieldName).GetROProperty("class")
Case "visible"
val=BrowserPage.WebRadioGroup(strFieldName).GetROProperty("visible")
Case "verifydefault"
val=BrowserPage.WebRadioGroup(strFieldName).GetROProperty("selection")

If strcomp(ucase(val),ucase(Trim(strvalue)))=0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End if
End Select
else
strStatus="FAIL_Field NotPresent"
' msgbox "yes"
wait 2
End If


Case "link"
'msgbox "LINK"

Select Case Lcase(strAction)
Case "click"
'msgbox Row
wait 2
'If BrowserPage.Link(strFieldName).Exist(5) Then
bWeb_Link=BrowserPage.Link(strFieldName).Exist
If bWeb_Link="True" and err.number=0 Then
BrowserPage.Link(strFieldName).Click
strStatus="PASS"
Else
strStatus="FAIL_Field NotPresent"
' msgbox "yes"
wait 2
End If

End Select

Case "webtable"
Select Case Lcase(strAction)
case "verifyvalidation"
If BrowserPage.webtable(strFieldName).exist Then
NoR=BrowserPage.webtable(strFieldName).rowcount
For R=1 to NoR
App_val=BrowserPage.webtable(strFieldName).GetCellData(NoR,1)
MsgBox App_val
vExcelSheet.cells(Row,R+9)=App_val
If instr(1,lcase(trim(App_val)),lcase(trim(strvalue)))>0 Then
strStatus="PASS"
Else
strStatus="FAIL"
End if
Next
else
strStatus="FAIL_Field NotPresent"
' msgbox "yes"
wait 2
End If


Case "verifyvalue"

EV_Split_Value=split(We2,"=")
'msgbox EV_Split_Value(0)
For i=1 to BrowserPage.WebTable(strFieldName).rowcount
If instr(1,BrowserPage.WebTable(strFieldName).getcelldata(i,1),EV_Split_Value(0))>0 Then
AV= BrowserPage.WebTable(strFieldName).getcelldata(i,1)
'MsgBox AV
Split_Value=split(AV,EV_Split_Value(0))
If instr(1,Split_Value(1),EV_Split_Value(1) )>0 Then
strStatus= "PASS"
else
strStatus= "FAIL"
End If
Exit for
End If
next

End select

Case "webelement"
bWeb_Element=BrowserPage.WebElement(strFieldName).Exist
If bWeb_Element="True" and err.number=0 Then
Select Case Lcase(strAction)
Case "click"
If BrowserPage.WebElement(strFieldName).Exist Then
BrowserPage.WebElement(strFieldName).click
End If
Case "verify"
If BrowserPage.WebElement(strFieldName).Exist Then
' val= BrowserPage.WebElement(strFieldName).getroproperty("innertext")
'If Instr(val,Trim(strvalue))>0 Then
strStatus="PASS"
Else
strStatus="FAIL"
'End if
End If
Case "visible"
val=BrowserPage.webelement("name:="&strFieldName).GetROProperty("visible")
If strcomp(ucase(val),ucase(Trim(strvalue)))=0 or val=empty Then
strStatus="PASS"
Else
strStatus="FAIL"
End if
End Select
else
strStatus="FAIL_Field_Not Present"
' msgbox "yes"
wait 2
End if


Case "popup"

Set BrowserPage = Browser(strBrowserName)
BP=BrowserPage.exist
If BP="True" and err.number=0 Then
Select Case Lcase(strAction)

Case "click"

If BrowserPage.Dialog( strScreenName).Exist Then
BrowserPage.Dialog( strScreenName).WinButton(strFieldName).Click
strStatus="PASS"
Else
strStatus="FAIL"
End If

Case "set"
If BrowserPage.Dialog( strScreenName).Exist Then
BrowserPage.Dialog( strScreenName).WinEdit(strFieldName).Set Trim(strvalue)
strStatus="PASS"
Else
strStatus="FAIL"
End If

End Select
End If
Set BrowserPage = Nothing

End Select

Set BrowserPage = Nothing
vExcelSheet.cells(Row,9)=strStatus
Next



VExcel.Activeworkbook.save
Set VExcel = Nothing
set vExcelSheet = Nothing

A function for Convert System date to Sepcified format date:

Public Function dateManipulate(sDate)

If Len(sDate) > 10 Then
Reporter.ReportEvent micWarning, "Error! Bad Input", "Bad Input. Actual: " & sDate & ". Expected: m-d/yyyy"
End If

locDelimOne = InStr(1, sDate, "-")
locDelimTwo = InStr(1, sDate, "/")

If locDelimOne = 2 Then
sMonth = Left(sDate, 1)
sMonth = "0" & sMonth
ElseIf locDelimOne = 3 Then
sMonth = Left(sDate, 2)
Else
Reporter.ReportEvent micWarning, "Error! Bad Input", "Bad Input. Actual: " & sDate & ". Expected: m-d/yyyy"
End If

sDay = Mid(sDate, locDelimOne + 1, locDelimTwo - locDelimOne - 1)

If Len(sDay) = 1 Then
sDay = "0" & sDay
End If

sLen = Len(sDate) - locDelimTwo
sYear = Mid(sDate, locDelimTwo + 3, sLen)

iDate = sMonth & "/" & sDay & "/" & sYear

dateManipulate = iDate

End Function