51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6770|回复: 15
打印 上一主题 下一主题

[原创] QTP中怎样自动关闭浏览器

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-2 17:20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
回放用QTP录制的基于B/S脚本时,每次都必须把浏览器关闭掉才行,否则会找不到对象,希望能加入自动关闭桌面上打开的浏览器脚本再运行录制的脚本,但是尝试SystemUtil.Close..............语句不行,希望高手能够指点
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

推荐
发表于 2008-4-28 20:28:56 | 只看该作者
systemutil.CloseDescendentProcesses
用这个关闭由QTP打开的进程,这样就不会关闭QC了
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

2#
发表于 2008-4-2 20:50:26 | 只看该作者
SystemUtil.CloseProcessByName "iexplore.exe"
这样就可以了,我的脚本就是这么执行的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-2 20:54:06 | 只看该作者
Browser("百度一下,就知道").close  这样不可以吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-2 21:49:58 | 只看该作者
还有一种方法:

好象是SystemUtil.CloseAllProcess吧, 反正就是后面不用跟任何东西的哪个,可以在QTP中输入SystemUtil.后就可以看到.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-2 23:35:26 | 只看该作者
原帖由 happy058 于 2008-4-2 21:49 发表
还有一种方法:

好象是SystemUtil.CloseAllProcess吧, 反正就是后面不用跟任何东西的哪个,可以在QTP中输入SystemUtil.后就可以看到.


这个是关闭了所有打开的进程,实质上只需要关闭IE的进程即可
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-3 08:45:12 | 只看该作者
3楼的方法不错,可以关闭你制定的浏览器。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-3 09:04:25 | 只看该作者
大家都想的是函数,为什么不让脚本执行ALT+F4,模拟键盘操作是在遇到小问题时临时快速解决的好方法。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-4-3 09:37:05 | 只看该作者

回复 4# 的帖子

SystemUtil. 后面没有CloseAllProcess的啊
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-4-3 09:38:46 | 只看该作者

回复 2# 的帖子

这个方法不错,但是我录制的脚本是打开一个网页,结果他把我打开的网页和其他已经打开的网页都关闭了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-4-3 09:41:59 | 只看该作者

回复 3# 的帖子

这个方法应该可以,但是我之前已经打开的网页我必须要知道他的browser()里面的内容才行,而我想的是不管browser()里面的内容是什么都可以关闭
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-4-3 09:47:21 | 只看该作者
在这个坛子中搜索到以下代码:
Do While ("True")
        TrueOrFlase = Browser("index:=0").Exist
        If (TrueOrFlase="False") Then
            Exit Do
        Else
           Browser("index:=0").close
        End If
Loop
挺管用,但是不知道什么意思?希望高手和版主能够赐教,或者还有其他更好的方法
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-4-28 17:52:41 | 只看该作者
11楼那方法也不怎么好。如果有多个浏览器窗口,那么无法全部关闭。而且如果是通过QC去调用QTP,那么当QC页面的Index是0的话,就不管用了。期待更好的解决方案啊~~
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-4-28 17:55:04 | 只看该作者
还有2楼的方法,如果是QC调用QTP的话,那么连QC一起关了,也不好使~~
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-4-30 11:18:13 | 只看该作者
什么啊,你的要求是怎样的呢?
不是在运行脚本前把其他浏览器都关掉吗?那怎么会关掉你打开的网页呢?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-8-13 17:02:17 | 只看该作者

回复 2# 的帖子

我用你的方法SystemUtil.CloseProcessByName "iexplore.exe" 加在QTP脚本的最前面,结果是先打开测试页面,然后把测试页面和之前打开的页面都给关了。。。有没有更好的方法啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 12:33 , Processed in 0.076491 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表