在我们运行脚本前,有时候忘了清理环境.可能被测对象已经存在了,QTP再次运行时又重新打开了个相同的对象.导致后续步骤,由于QTP根据对象库中的对象匹配到了两个相同的对象,不知操作哪个对象了,于是报错.那我们有没有办法避免呢?答案当然是肯定的.我们可以在运行测试脚本前,先写段脚本来判断我们要测试的对象是否存在.如果存在可以先关闭,再执行重新打开的操作.接下去以QTP自带的Fight的登录框为例.
首先我们用QTP中的object spy来看一下这个窗口的属性,找到我们可以利用的属性
这边我想利用的就是这个窗口的名称属性及值,利用这个名称属性来告诉QTP该关闭哪个窗口属性.
代码如下:
Dim loginwin
Set loginwin=descrīption.Create() '创建对象名为loginwin的对象
loginwin( "regexpwndtitle").value="Login" ,对象属性及值
Set child=desktop.ChildObjects (loginwin)
For i=1 to child.count
child(i-1).close '循环寻找这个对象,一次关闭
Next
需要更改的地方,我用蓝色表示了,大家也可以自己试试.不过有一点要注意就是,要执行关闭窗口的关系,这个也完全依照windows的特性来做.最上面的处在激活状态的先关,然后依次关闭其他的窗口.否则脚本会无法执行.可以把这段脚本放在脚本的最前面,实现测试环境的初始化
文章来源于领测软件测试网 https://www.ltesting.net/