使用MonitorQTP来监视QTP的运行异常
/Mj
S^.z8?(y
~]5w3iw0关于QTP场景恢复机制的讨论,网上有一大堆,个人觉得它实在是鸡肋,当然我认为他是鸡肋的原因很简单,让QTP自己去处理自己脚本而产生的错误,实在有些扯蛋,更别提还要去配置一翻,配置之后还有几种情况不能使用了。其实我更倾向于通过自己的脚本的错误处理机制来控制脚本产生的错误。51Testing软件测试网%g
M,C%Y
A^
但遗憾的是,不管是你的QTP或者你的脚本也罢或者你的测试项目也罢,总会莫明其妙地出现意外问题,而QTP运行又是无人置守的,出现错误时,可能你还在睡觉或跟神仙姐姐约会呢。
^Y5x%]sC0突然想到了一首歪诗,也许我们可以用它来描述QTP的异常。
0HCG
_/k$dg0你在或不在
(T7K/Cj+Wze0错误就在那里
WR'\#yFb&dtkm%C0继续等待
-[%G'Nr6`0 51Testing软件测试网.Yr:Z8dj&B|N
你爱或不爱51Testing软件测试网#`D7AR3O-X;aG
错误就在那里
|{@0?@Lr-{.w
laW0无声无息
Ig'a8cs~S0。。。。。。
dBT$Te'br8l%c0呵呵,基于以上的原因,我就写了一个小东西,名字叫MonitorQTP,算代替QTP的场景恢复的一些我觉得还可以处理的功能吧!
*r(x3S[Uy0san k0一、简单介绍51Testing软件测试网 YY$N2v0cq
先来看看样子,至于它有那些功能我想我不用多做解释,上面的按钮已经说明了。
/@+{:qC9Z|0
KB
F9yjF0
wITE dZQ0还是说说他的使用吧,首先你得点击配置邮箱,在下面这个界面正确配置,请一定要正确配置邮箱,因为这个软件要解决“。。。无声无息。。。”,所以得发邮件通知您。我们的工作邮箱是使用的outlook,其它邮箱类型我没有测试过,我想也应该行吧。不过,请注意,如果你是互联网邮箱,我想应该是不行的。配置好之后,你可以点击“测试”看看你能不能收到邮箱,如果OK的话,点击记住我就行了,以后就可以不用配置了。
w
j8VT;D0
WL#Wx[/cd
Jb*S051Testing软件测试网.x([3}U0~N2\
再次,您还得点击“配置计算机5分钟……”按钮,配置当计算机崩溃之后,电脑重启后运行的测试脚本。如果你开了杀毒软件或防护措施的话,请注意请点击允许修改注册表。其它需要注意的地方,软件上面已经说过了,我就不再说了,点击记住我就行了。
7a_X4V2S:p
K1W$S P*H051Testing软件测试网aRi,fl$|9nC*sT
.V2KUr gGc1p
g0现在来介绍一下目前本软件已处理的弹出框错误类型有那些,如果你不认识这些错误,我想这不是我的错。
c_;U)FO0详细如下图:
]]h9@lhK051Testing软件测试网iyP3Z;Lo
51Testing软件测试网7T+ZN.a:v?
程序会点击确定按钮51Testing软件测试网/Ti4M_3w
51Testing软件测试网*O5M
X"}!M4Mqc#u
b&hhZn]0程序会点击Stop按钮51Testing软件测试网v
T6ZP/L4| }N
51Testing软件测试网DLXB^P
1yv@N vJmy0程序会点击OK按钮51Testing软件测试网nTdQed
如果,你有其它错误类型需要加入程序判断过程的话,比如IE程序中弹出的提示信息框,请点击“添加QTP错误”51Testing软件测试网eUL"an(\C
+\ ~DWM{z%U8y0配置内容的意思为,打开vs2005中的spy++——》Alt+F3,将那个圈圈拖在弹出窗口窗体上,Spy++中标题(C)的内容即需要填入主窗体标题输入框内,类(L)即需要填入主窗体类名输入框中,你希望点击弹出框中的那个按钮,再次获取填入子控件标题和子控件类名然后在下面的输入框内填入,提交即可,请注意主窗体和子控件是成对的,另外子控件需要慎重选择,比如上上上面那个图,如果你先选retry点击,然后再添加了一个相似的窗体,却选择了Stop,程序是不会执行Stop按钮的,所以你得慎重配置。
BdGJ(H,cB051Testing软件测试网/BI0x!{?2j
二、程序处理流程51Testing软件测试网.@.T%nb_C;Sj'~
该程序只有当你的QTP启动后,即QTPro.exe进程存在时才能使用。当程序发现您所存储的错误类型后,程序会记录日志,并截屏到errorCapture文件夹中,如下面所示:51Testing软件测试网0CF_7d]$bP
截图:51Testing软件测试网[P Bg6Y3l
mR$EQ7l7u,GAJ6r0
]![l0AhW0日志:
|2Q:b,{0Eyp0 2011-3-31 15:00:02开始监视QTP的运行情况
4uG&P'BMt*B0 2011-3-31 15:00:35发现错误窗口,标题为:Run Error类名为:#32770,程序在等待60秒后才会做进一步处理。51Testing软件测试网J4x-Qt,Q
如日志内容记录的一样,程序会等待大约60秒的时间才会点击你所设定的按钮,这是因为可能某些错误弹出框是你脚本中需要进行处理的,所以我让它等待了60秒。程序点击了你所设定的按钮后,开始记录日志并发送邮件到你的邮箱,通知你有一个QTP错误。
Hh D"c?].f-y3? Fv0邮件:
v!y/^-l0m`
t
a]y0
TLI9Rl%z0在程序监视是否有弹出框的过程中,程序会获取你本机的CPU使用情况和可用物理内存的情况,如果你的CPU或可用物理内存在5分钟的时间里,CPU都在75%左右,或可用物理内存不足256M,程序将会重启计算机,重启计算机后将会运行你所设定的vbs。另外,请注意本程序是在WinXP下开发的,是否在其它操作系统能重启计算机,没有进行过测试。还有一点需要注意的是,本程序是供Web——QTP使用的且目前只支持IE和FireFox浏览器,另外我没有怎么进行测试,不过在我这里运行得还不错。
m B#lKZS0三、如何结合QTP来使用此软件51Testing软件测试网%iib(f4|
在你的QTP脚本中添加如下所示代码即可:
.sC$}'li}0 51Testing软件测试网__B9Olm8H
Dim fileName
y*U2ebL(Kx'F0'您将监视器所放在的位置
v:}[1mt^s0fileName="E:\MonitorQTP\MonitorQTP\bin\Debug\MonitorQTP.exe"
`(@LP+K? Y#i)h b0'开启监视器51Testing软件测试网h(k7~(J/Is:?{
Call Start_MonitorQTP(fileName)
p I${6mNu&aK0
!dE!A+nT_d}0'您的脚本所在的位置
)w@9[ux u,Qz)X0'您的脚本所在的位置51Testing软件测试网 k&|N6q`:P.`'h6I
'您的脚本所在的位置51Testing软件测试网`j0kiF+fd
'您的脚本所在的位置
R0g
u},`
X7S0'您的脚本所在的位置
v
U7qCz0
6h1a5{Y
wo8n0 51Testing软件测试网u:c-Du2N{xW
51Testing软件测试网LbTL"NyYJ n
'结束监视器
+]+nN'g+] V9EE
N"u0Call End_MonitorQTP()
_4}/`/dw5z0 51Testing软件测试网&H9v BUl
xj[3k?Zp0'作者:文青山
@%lyx,a%rs0'日期:2011-4-0151Testing软件测试网)Z-aGKDyf
'作用:开启QTP监视器51Testing软件测试网,N W x[~
'参数:filePath,QTP监视器所在的位置51Testing软件测试网 \f'[a-F/w!G
'返回值:空
a8_,`d.^A!q3bZ0Function Start_MonitorQTP(filePath)51Testing软件测试网H
C5z @9gtT1^mh
'如果还存在MontiorQTP.exe,则结束该进程51Testing软件测试网:K$fAWQS~+X(x
Call SystemUtil.CloseProcessByName("MonitorQTP.exe")
hQ?
l+d:k2O$fI0 '启动监视器51Testing软件测试网t/Fq2r&`Q'q8kM
N
Call SystemUtil.Run(filePath,"","","")51Testing软件测试网%NpJff
Window("text:=MonitorQTP_v0.1正式版想打广告吗?请联系我!").WinObject("text:=启动监视器").Click
#Svn#Sz0 wait(3)
T(cSL_6g0End Function51Testing软件测试网;}L
e oD
51Testing软件测试网-ST(c;e0n2H d#J&m
'作者:文青山51Testing软件测试网i&T"VM Wd:g
'日期:2011-4-0151Testing软件测试网7` X:M!m |9LvB*^
'作用:结束QTP监视器51Testing软件测试网9K:A"k:Tp-i"W8l
'参数:无51Testing软件测试网 yN/z7B!?'xpXv
'返回值:空
%k,`;^/N+L+\Z0Function End_MonitorQTP()51Testing软件测试网/`+m$}*|
A(g1CZ
For i=0 to 251Testing软件测试网K/FU/@^Bdm
Call SystemUtil.CloseProcessByName("MonitorQTP.exe")51Testing软件测试网%O n {6S'Sra
Next
+@$?/R6^Y+o'm5Z9t*N0End Function
S `*`&K*XDg9k0四、后记51Testing软件测试网;I'gQ9thU.?+b:Qj
某天,我实在是被QTP的故障恢复机制气得冒烟。堂客看到我无语的样子,就问朗个了。我解释了一下,然后堂客说,嘿不好用的东西,干啥子要用她呢,干球不自己弄一个,哈踔踔的。我的那个神啊,谢谢你让我有了这么好的堂客。51Testing软件测试网(|x8Q-V0up
X3I5d
51Testing软件测试网KlN[S
如果你在使用过程中,出现了什么问题,请将你的操作步骤记录下来然后发邮件给我,我将解决这些问题。如果你有什么新的需求或者建议或者关于此软件的疑问什么的,也可以发邮件给我,我会及时答复。51Testing软件测试网qZ(m7g0Wsa
51Testing软件测试网0]'P'P(ZduBg
-N"zV`(c'P*MS'?`+U0MonitorQTP 可提供定制版(如有需求请加QQ详谈:379078880)
2y'B(WH4n2E tk02011-4-2
5Ae'`(`+P7J&mhq\^0文青山于深圳坪山
.^~G"w9h1E A;p0