声明:本空间的内容不全部是原创,如有雷同只为学习与借鉴之方便,别无它意,来者是朋友,愿通过此平台结交天下测试达狼!

自定义验证点-HTML模式

上一篇 / 下一篇  2010-08-24 21:13:48 / 个人分类:QTP

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

'p}/c4`:O051Testing软件测试网nu$F$Z${B2F

废话不说,上例子:

"b3@^M6yTx0

kS&u9P%Z?1A0 51Testing软件测试网v$}['c6xg/sI

B3N8|u1}J8W0上图就是我们需要实现的最终结果。来看一下脚本的实现:51Testing软件测试网j({)^ F/j

C`8J/]Ij;x3N01. 报告生成函数(过度函数)

E x#~I3c2Y,g p051Testing软件测试网Fd"bj8J&~/R;}3J

注意:这里的GetTOProperty("testObjName")是一个隐藏属性,可以获取QTP对象库里的对象的LOGICNAME.51Testing软件测试网C[)e6\ o

51Testing软件测试网 C5olu}

'#########################  报告生成  ###########################51Testing软件测试网yO.L8nOK~
private Function HReport(ExpectedValue,ActualValue,testStatus,nodename)51Testing软件测试网/}wi:] E Kf3g}
    Set EventDesc = CreateObject("Scripting.Dictionary")51Testing软件测试网[Q$]g8X5r|zpX
    '添加状态51Testing软件测试网(C(RWPT
    oEventDesc("Status") = micFail51Testing软件测试网K4L^!F-W
    '添加是否过滤
2zM"n^0k\6r \ a0    oEventDesc("EnableFilter") = False
'j|;@D"f$^!h:^+[ j4W0    '添加节点名称
`8[R&E BKha5s\0    oEventDesc("NodeName") = nodename51Testing软件测试网%L p h8] u#r-~
    '添加HTML结果51Testing软件测试网 \G'{'?&}Z1LY
    oEventDesc("StepHtmlInfo") = "<TABLE border='1'>" & _51Testing软件测试网J/A%N B5EpW
                "<TR><TD>Actual Value</TD><TD>"+ExpectedValue+"</TD></TR>" & _51Testing软件测试网&?x~'oZ]:E)H&A0m
                "<TR><TD>Expected Value</TD><TD>"+ActualValue+"</TD></TR>" & _
m9M5q3mv8m!gU?(@;F5Q0                "<TR><TD>Checkpoint Status</TD><TD style='background-color:red'><b>Failed</b></TD></TR>" & _
5c8[S'Q}!Y4f0                "</TABLE>"51Testing软件测试网k6l'u4? Si2D
   '判断状态51Testing软件测试网3kCJ~v2b
    If testStatus Then
4?']1tX)U;y a/gt0        oEventDesc("Status") = micPass51Testing软件测试网,Y&Oe6xNp)E3U8W0D\K
        oEventDesc("StepHtmlInfo") = Replace(oEventDesc("StepHtmlInfo"),_51Testing软件测试网9op+b*Usd'r+e
        "<TD style='background-color:red'><b>Failed</b></TD>","<TD style='background-color:green'><b>Passed</b></TD>")
5t0Q n^N6X0    End If
(y |XF4f e$j cD0    '生成报告
"XWW$mV;MXE0    newEventContext = Reporter.LogEvent ("Replay",oEventDesc,Reporter.GetContext)51Testing软件测试网5E*tH6x8zC2a
    '释放资源
7u5e3T"N |)Q)[1o.L0    Set EventDesc = nothing51Testing软件测试网Z A jv*Y5y*p
End Function
A P|N-LDB G0 

K!QA8O|Db051Testing软件测试网2C6A_&~.Si-C

2. 验证函数 - 调用第一个报告生成函数自动判断成功与失败

]4G O(\)EQB6G O0

;Yv,~S1QtoEz"z0'########################### 自定义过程校验  ##########################
k{*?5u/G8h1]0Function ValidateProperty (Object, PropertyName, ExpectedValue)
b4x#S:Qh*ON ~2S0    '判断预期是否与实际值相等
pil6C;L*t!v8Vb:X0    If Object.GetROProperty(PropertyName) = ExpectedValue Then51Testing软件测试网eY L{+p;V
        '成功
x j;P2S(C)It5@\0        HReport ExpectedValue,Object.GetROProperty(PropertyName),true,_51Testing软件测试网}M Rv?
        "check "+Object.GetTOProperty("testObjName")+"<"+PropertyName+">属性"51Testing软件测试网$sC[P#]q4lMV{n
        ValidateProperty = True51Testing软件测试网Qhp.K$Xe&D] i
       Exit Function51Testing软件测试网3O`s]'o2s
    Else51Testing软件测试网B}%L6YF&GE
      ' 失败51Testing软件测试网ch.PlW2_7[s,G,~
        HReport ExpectedValue,Object.GetROProperty(PropertyName),false,_
w)^\Q`2g9^0        "check "+Object.GetTOProperty("testObjName")+"<"+PropertyName+">属性"
*|~'[!y7jg0        ValidateProperty = False51Testing软件测试网+Uo(L B(zE v5GE-I'x.yh
        Exit Function51Testing软件测试网2V F,k:F!~n ]QP)M
    End If51Testing软件测试网'R {D4yW{1L
End Function
4zzJ@ GT Q;jiA0 

X!_Q7u\6d%B051Testing软件测试网A9J'D8T2n/d

这里的验证函数使用了测试对象的抽离技术。调用时可以直接把对象传入.

(Nl [hx5a0

'Mk n0c_H7i8z8`+U,CD8_u0把以上两个函数都存放在函数库中,然后直接调用验证函数(函数2)即可

)HlZRRG.J051Testing软件测试网[,@/s!KE VB

set WebEdit = Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("搜索框")51Testing软件测试网^eTL Jv1Joj

51Testing软件测试网,q4C'~_0{&|

ValidateProperty oWebEdit,"name","wd"51Testing软件测试网+_&a%c-W.s-` {'DJ
ValidateProperty oWebEdit,"name","wd1"
,n;ay4E-?0 51Testing软件测试网Ez#\zRu

51Testing软件测试网(km!K$Qk^

结果1: wd 验证成功,如图:

/C%[;gpfP'j0

*y*W ZTl%_6I UG:z0 

l9q|m |Ex8Vn0

5V,`WJ t0结果2: wd1 验证失败,如图:51Testing软件测试网!X)yv3t F

2NV.Gi4Gz!o sGG0 51Testing软件测试网S_n&x _;r||

;~:{u#FyN0 

5nEB SeT$xY5cC051Testing软件测试网urNKO[ky

本文来自CSDN博客:http://blog.csdn.net/zzxxbb112/archive/2010/06/18/5678204.aspx51Testing软件测试网 nKb@U8F"U)u


TAG:

引用 删除 tuti_023   /   2013-04-10 14:06:02
报告生成函数HReport的Line2:
Set EventDesc = CreateObject("Scripting.Dictionary")
变量名错误,应为oEventDesc
 

评分:0

我来说两句

Open Toolbar