Rss订阅IQuickTest(关于如何订阅?)
GoogleReader订阅地址: http://feeds.feedburner.com/iquicktest
作者:zzxxbb112
时间:2010/6/18 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
很久没更新了,最近事情实在是太多,这两天稍微空点,终于能挤出时间来更新了,今天要讲的是自定义过程校验,内容比较特别,正常情况我们都知道,自定义报告的话我们可以直接使用Report对象,而当我们在使用验证点时经常会用到Checkproperty,执行它之后QTP会自动在report里生成一条验证结果。以上的我就不说了,相信大家一定都非常精通了。今天主要是讲一下怎么结合验证点在QTPreport中输出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
这里的验证函数使用了测试对象的抽离技术。调用时可以直接把对象传入.
把以上两个函数都存放在函数库中,然后直接调用验证函数(函数2)即可
set oWebEdit = Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("搜索框")
ValidateProperty oWebEdit,"name","wd"
ValidateProperty oWebEdit,"name","wd1"
结果1: wd 验证成功,如图:
结果2: wd1 验证失败,如图:
如有任何问题请去IquickTest Q&A问题库进行提问