【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==

 Rss订阅IQuickTest关于如何订阅?

GoogleReader订阅地址: http://feeds.feedburner.com/iquicktest

作者:zzxxbb112
时间:2010/6/18 版权所有,侵权必究。

出处:http://blog.csdn.net/zzxxbb112


     很久没更新了,最近事情实在是太多,这两天稍微空点,终于能挤出时间来更新了,今天要讲的是自定义过程校验,内容比较特别,正常情况我们都知道,自定义报告的话我们可以直接使用Report对象,而当我们在使用验证点时经常会用到Checkproperty,执行它之后QTP会自动在report里生成一条验证结果。以上的我就不说了,相信大家一定都非常精通了。今天主要是讲一下怎么结合验证点在QTPreport中输出HTML格式的结果。

废话不说,上例子:

【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==_第1张图片

上图就是我们需要实现的最终结果。来看一下脚本的实现:

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 验证成功,如图:

【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==_第2张图片

结果2: wd1 验证失败,如图:

【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==_第3张图片


如有任何问题请去IquickTest Q&A问题库进行提问

你可能感兴趣的:(【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==)