51Testing软件测试论坛

标题: QTP关闭浏览器的问题 [打印本页]

作者: lijian422202    时间: 2008-8-13 16:55
标题: QTP关闭浏览器的问题
1、回放用QTP录制的B/S脚本时,每次都必须手工把浏览器关闭掉才行,否则下一次跑脚本的时候就会出问题,能否在脚本运行之前把系统打开的浏览器关掉或者跑玩一个CASE后把浏览器管掉
作者: kevin_swpi    时间: 2008-8-13 17:00
SystemUtil.CloseProcessByName "iexplore.exe"
       SystemUtil.run...

QTP有一系列方法  你可以在QTP中查看SystemUtil的帮助
作者: lijian422202    时间: 2008-8-13 17:07
先谢谢斑竹的回复,我已经用SystemUtil.CloseProcessByName "iexplore.exe"来做关闭动作,并将其放在QTP脚本的第一行,我的RECORD AND RUN SETTING里面是要打开URL测试的,结果运行时把新打开测试的浏览器也关闭了。。
这样的话,按照斑竹的意思 是不是需要把RECORD AND RUN SETTING的设置去掉,并且用SystemUtil.run来启动IE ?
作者: 陈能技    时间: 2008-8-13 17:12
在脚本最后加这个试试:

hwnd = Browser("version:=inter.*").GetROProperty("hwnd")
Window("hwnd:=" & hwnd).Close
作者: zhuyuancan    时间: 2008-8-13 17:34
在脚本最后加browser().close也行吧
作者: flying-kite    时间: 2008-8-13 22:58
你可以录制在最后关闭浏览器的操作啊
作者: dalinangel    时间: 2008-8-14 09:29
在CASE最后,加上Browser("XXX").Close也行
作者: lijian422202    时间: 2008-8-14 10:54
谢谢各位的回复,我已经使用 SystemUtil.CloseProcessByName "iexplore.exe"
       SystemUtil.run...  把它放在脚本的最前面了,加在后面的方式可能不适合我,因为我要运行多个脚本,还会有脚本的运行状态判断,如果加在后面,有些脚本出错后,可以执行不到。
作者: kevin_swpi    时间: 2008-8-14 12:55
你既然要执行多个脚本
为什么不把公共部分提取出来呢?
作者: kevin_swpi    时间: 2008-8-14 12:58
原帖由 陈能技 于 2008-8-13 17:12 发表
在脚本最后加这个试试:

hwnd = Browser("version:=inter.*").GetROProperty("hwnd")
Window("hwnd:=" & hwnd).Close

陈老大这个建议不错

不过
个人建议是 你在跑QTP的时候
最好是关掉所有的浏览器  保持干净点好
免得出现一些不必要的麻烦  比如识别识别不了对象的问题等
作者: lijian422202    时间: 2008-8-14 13:46
是做了共用的action,谢谢Kevin




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2