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

自定义验证点-HTML模式

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

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

51Testing软件测试网R.Z[U.U&VZ C ~Z[

废话不说,上例子:51Testing软件测试网k%U%m'qw&X5C

51Testing软件测试网EH|:UD1te!}

 51Testing软件测试网|FQ7F-~0GC0H

*]Y3P%z-~#K+O0上图就是我们需要实现的最终结果。来看一下脚本的实现:

d/}~ }`.R#a0

pV'jq l01. 报告生成函数(过度函数)51Testing软件测试网BH7R |5N8_?

%toM R)p$w0注意:这里的GetTOProperty("testObjName")是一个隐藏属性,可以获取QTP对象库里的对象的LOGICNAME.

"MG9N$`3ANhf\;y+b0

"u ld|Ck0[8m?Y,f ]0'#########################  报告生成  ###########################51Testing软件测试网8U Q_kU zlg
private Function HReport(ExpectedValue,ActualValue,testStatus,nodename)
8E.g;dv;V]0    Set EventDesc = CreateObject("Scripting.Dictionary")
'yS8Q"},A0    '添加状态
rC%zy Q4`3S~#j$W0    oEventDesc("Status") = micFail
~$@\f;{6d Qgq0    '添加是否过滤51Testing软件测试网~&Ly0gV#L j~c(k
    oEventDesc("EnableFilter") = False
'_!exV)G#D0    '添加节点名称
@R {;A hQ0    oEventDesc("NodeName") = nodename51Testing软件测试网e},Tf#s
    '添加HTML结果
H OllG _%s0    oEventDesc("StepHtmlInfo") = "<TABLE border='1'>" & _51Testing软件测试网[$mM+uQ"Ru2G b
                "<TR><TD>Actual Value</TD><TD>"+ExpectedValue+"</TD></TR>" & _51Testing软件测试网,E!aL6gqK
                "<TR><TD>Expected Value</TD><TD>"+ActualValue+"</TD></TR>" & _51Testing软件测试网sG y"bi_.H
                "<TR><TD>Checkpoint Status</TD><TD style='background-color:red'><b>Failed</b></TD></TR>" & _51Testing软件测试网C4Q ORm8{vN
                "</TABLE>"
+zF'Vh*r-~}0   '判断状态51Testing软件测试网7zhV'L|}[
    If testStatus Then51Testing软件测试网hvz&a#k IKH
        oEventDesc("Status") = micPass
I@Xw.l(x$ek0        oEventDesc("StepHtmlInfo") = Replace(oEventDesc("StepHtmlInfo"),_
4?*` A(f@ ~ dV0        "<TD style='background-color:red'><b>Failed</b></TD>","<TD style='background-color:green'><b>Passed</b></TD>")
!N"~ Z v&R!z n.idZ0    End If51Testing软件测试网 O F#C].Acvj
    '生成报告
d QdJq0    newEventContext = Reporter.LogEvent ("Replay",oEventDesc,Reporter.GetContext)51Testing软件测试网_wD!g(B`2b
    '释放资源
0~g{4w;T;G0    Set EventDesc = nothing51Testing软件测试网 B"nF2~;y
End Function51Testing软件测试网w `1\o|c3]3^+j
 

CzAq?UFOu0

$Z+n Sh/eXV1p;V)]02. 验证函数 - 调用第一个报告生成函数自动判断成功与失败

X{'U@.EB e h0

9]%i kA)XR?0'########################### 自定义过程校验  ##########################51Testing软件测试网.?Z!V.?T.O-t'J!Ip}
Function ValidateProperty (Object, PropertyName, ExpectedValue)
Z$L bh'qIS4SS0    '判断预期是否与实际值相等51Testing软件测试网,U9v;o`t
    If Object.GetROProperty(PropertyName) = ExpectedValue Then51Testing软件测试网boQNxvF \ Y o;V
        '成功
9dX~:wH@sl0        HReport ExpectedValue,Object.GetROProperty(PropertyName),true,_
0@,R.p5y)]$k*V4n7PO#J0        "check "+Object.GetTOProperty("testObjName")+"<"+PropertyName+">属性"51Testing软件测试网 c#_$h_0]+|y
        ValidateProperty = True
~5{,Q9XQj}#X6a0       Exit Function51Testing软件测试网,h?$wSZ,q(v;C+o
    Else
/RVk mg4V0      ' 失败
yVl8x;Bt;j)sSwj0        HReport ExpectedValue,Object.GetROProperty(PropertyName),false,_51Testing软件测试网.n&b#JyhhW9d{5Cc
        "check "+Object.GetTOProperty("testObjName")+"<"+PropertyName+">属性"51Testing软件测试网b/],j-A0d]t
        ValidateProperty = False51Testing软件测试网e8H@}3s:G
        Exit Function51Testing软件测试网#`"x4p;wb V/[
    End If51Testing软件测试网4P+ov]R?*Hv i
End Function
:b \K;|bz0 51Testing软件测试网 knH e!jx

51Testing软件测试网.w Fmk0}

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

Z9P`3[t+x;s(n051Testing软件测试网9q$c{,q7`n7pX%O

把以上两个函数都存放在函数库中,然后直接调用验证函数(函数2)即可51Testing软件测试网`5u(@i$v qP}:[

r\[%F[8U'mge0set WebEdit = Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("搜索框")51Testing软件测试网+u]@s-fQQ

51Testing软件测试网&O!PuuU7na

ValidateProperty oWebEdit,"name","wd"
]-F4@;UnP{&Z;\|0ValidateProperty oWebEdit,"name","wd1"
9y&f{(\$I0r%B&q pHZ0 

evd!A/C$f/P*] l"w T"Z051Testing软件测试网:dhpJRou

结果1: wd 验证成功,如图:51Testing软件测试网 V_h4g2K8Gz"V2D xF6`

`"~.k9x#}X%X0 

M2`Yl,E.I0

Tn!_2Z d7?/q0结果2: wd1 验证失败,如图:51Testing软件测试网'hw c zh7Kf-E

*JHT0R^ t o W0 

pMC vt$xe0

2p"_;iN q"A` W0 

aL"BQ'B051Testing软件测试网LyD0T7h'G

本文来自CSDN博客:http://blog.csdn.net/zzxxbb112/archive/2010/06/18/5678204.aspx

4x8IQ^w P*K0

TAG:

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

评分:0

我来说两句

Open Toolbar