自定义验证点——HTML模式

1.报告生成函数

注意:这里的GetTOProperty("testObjName")是一个隐藏属性,可以获取QTP对象库里的对象的LogicName:

private Function HReport(ExpectedValue,ActualValue,testStatus,nodename)
 Set oEventDesc=CreateObject("Scripting.Dictionary")
 '添加状态
 oEventDesc("Status")=micFail
 '添加是否过滤
 oEventDesc("EnableFilter")=False
 '添加节点名称
 oEventDesc("NodeName")=nodename
 '添加HTML结果
 oEventDesc("StepHtmlInfo")="<TABLE border='1'>"&_
  "<TR><TD>Actual Value</TD><TD>"+ExpectedValue+"</TD></TR>" & _
  "<TR><TD>Expected Value</TD><TD>"+ActualValue+"</TD></TR>" & _
  "<TR><TD>Checkpoint Status</TD><TD style='background-color:red'><b>Failed</b></TD></TR>" & _
  "</TABLE>"
 '判断状态
 If testStatus Then
 oEventDesc("Status")=micPass
 oEventDesc("StepHtmlInfo")=Replace(oEventDesc("StepHtmlInfo"),_
     "<TD style='background-color:red'><b>Failed</b></TD>","<TD style='background-color:green'><b>Passed</b></TD>")
 End If
 '生成报告
 newEventContext = Reporter.LogEvent ("Replay",oEventDesc,Reporter.GetContext)
 '释放资源
 Set oEventDesc = nothing
End Function

2.验证函数-调用第一个报告生成函数自动判读成功与失败
Function ValidateProperty (Object, PropertyName, ExpectedValue)
 '判断预期是否与实际值相等
 If Object.GetROProperty(PropertyName)=ExpectedValue Then
 '成功
 HReport ExpectedValue,Object.GetROProperty(PropertyName),true,_
 "check "+Object.GetTOProperty("testObjName")+"<"+PropertyName+">属性"
 ValidateProperty=True
 Exit Function
 Else
 ' 失败
 HReport ExpectedValue,Object.GetROProperty(PropertyName),false,_
 "check "+Object.GetTOProperty("testObjName")+"<"+PropertyName+">属性"
 ValidateProperty=False
 Exit Function
 End If
End Function
这里的验证函数使用了测试对象的抽离技术。调用时可以直接把对象传入,把以上两个函数都存放在函数库中,然后直接调用验证函数(ValidateProperty)即可:

set oWebEdit = Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd") 
ValidateProperty oWebEdit,"name","wd"  
ValidateProperty oWebEdit,"name","wd1" 


猜你喜欢

转载自blog.csdn.net/WZ18810463869/article/details/50688308