QTP中测试环境的初始化

发表于:2008-09-11来源:作者:点击数: 标签:qtpQTP环境
在我们运行脚本前,有时候忘了清理环境.可能被测对象已经存在了, QTP 再次运行时又重新打开了个相同的对象.导致后续步骤,由于 QTP 根据对象库中的对象匹配到了两个相同的对象,不知操作哪个对象了,于是报错.那我们有没有办法避免呢?答案当然是肯定的.我们可以
在我们运行脚本前,有时候忘了清理环境.可能被测对象已经存在了,QTP再次运行时又重新打开了个相同的对象.导致后续步骤,由于QTP根据对象库中的对象匹配到了两个相同的对象,不知操作哪个对象了,于是报错.那我们有没有办法避免呢?答案当然是肯定的.我们可以在运行测试脚本前,先写段脚本来判断我们要测试的对象是否存在.如果存在可以先关闭,再执行重新打开的操作.接下去以QTP自带的Fight的登录框为例.

首先我们用QTP中的object spy来看一下这个窗口的属性,找到我们可以利用的属性

这边我想利用的就是这个窗口的名称属性及值,利用这个名称属性来告诉QTP该关闭哪个窗口属性.

代码如下:

Dim loginwin
:u+k#d CW/U7n68246Set loginwin=descrīption.Create()            '创建对象名为loginwin的对象
a0Q8~Q!k#Z68246loginwin( "regexpwndtitle").value="Login"       ,对象属性及值
w7Op:i(|z2KJ68246Set child=desktop.ChildObjects (loginwin)       
A?_I;X `68246For i=1 to child.count
e/ll^7Nl68246   child(i-1).close                    '循环寻找这个对象,一次关闭
3q,w/po-^68246Next

    需要更改的地方,我用蓝色表示了,大家也可以自己试试.不过有一点要注意就是,要执行关闭窗口的关系,这个也完全依照windows的特性来做.最上面的处在激活状态的先关,然后依次关闭其他的窗口.否则脚本会无法执行.可以把这段脚本放在脚本的最前面,实现测试环境的初始化

原文转自:http://www.ltesting.net