51Testing软件测试论坛

标题: msgbox函数执行时 为什么会返回到QTP窗口 [打印本页]

作者: near    时间: 2010-3-4 16:41
标题: msgbox函数执行时 为什么会返回到QTP窗口
脚本中有msgbox语句,为什么执行到这步时,就会自动切换到QTP的窗口,并且还最大化,使得测试的浏览器窗口完全被挡住了。执行完了又自动切换到浏览器窗口。是QTP默认就是这样吗?请高手指教啊,感激涕零啊
作者: yujie6832    时间: 2010-3-4 16:42
点掉即可,一定要点掉的,没有为什么。。。。。。。。。就是这么用的
作者: near    时间: 2010-3-4 17:02
标题: 回复 2# 的帖子
点掉我是知道的,我就是想它弹出的提示框直接在测试的浏览器窗口中显示就行了 为什么一定切换到QTP的界面上去显示,郁闷的。因为我想在测试时,如果涉及到下拉框选择值的时候,每当选择了一个值,然后用Msgbox弹出选择的那个值来让测试人员确认一下,我记得以前可以直接在浏览器测试窗口中显示的,不知道现在为什么不行。不知道是不是要写个函数控制一下QTP窗口。
作者: yujie6832    时间: 2010-3-4 17:12
不用的,他出来了,你点击网页也可以看到啊,不影响啊
作者: lamuda    时间: 2010-3-4 22:33
因为msgbox是QTP的,不是你测试窗口的,当他被激活的时候当然要处在最前端。。。
作者: near    时间: 2010-3-5 09:27
标题: 回复 5# 的帖子
有点搞不清   貌似有时候是QTP处在最前端  有时候又不是。
作者: yujie6832    时间: 2010-3-5 09:40
这个无所谓的,即使是,或者不是,你手动弄一下就可以了,没必要为了这个问题搞,你要想不被QTP挡住,你写一个函数,QTP运行都是最小化运行就可以了
作者: near    时间: 2010-3-5 09:44
不管怎样    先谢谢大家的回复
作者: zrg9399    时间: 2010-3-5 10:41
标题: 建议使用对象代替msgbox,可以自动关闭提示框
Dim res, WSH
Set WSH = CreateObject("WScript.Shell")
res = WSH.Popup("Closed after 2 seconds.", 2)  '代替msgbox "Closed after 2 seconds"
Set WSH = Nothing
作者: z_kh    时间: 2010-3-5 10:45
原帖由 lamuda 于 2010-3-4 22:33 发表
因为msgbox是QTP的,不是你测试窗口的,当他被激活的时候当然要处在最前端。。。

===================
正解
作者: near    时间: 2010-3-5 11:02
标题: 回复 10# 的帖子
好象不是这样   有时候它会直接在测试浏览器的窗口显示  有时候又会在QTP的窗口显示  要看QTP的心情的好像     暂时就先加个最小化QTP窗口的函数控制一下。
作者: zhengpeipei    时间: 2010-3-5 13:34
路过
作者: liuxl    时间: 2010-3-5 16:25
原帖由 near 于 2010-3-4 17:02 发表
点掉我是知道的,我就是想它弹出的提示框直接在测试的浏览器窗口中显示就行了 为什么一定切换到QTP的界面上去显示,郁闷的。因为我想在测试时,如果涉及到下拉框选择值的时候,每当选择了一个值,然后用Msgbox弹出选 ...


每次选择值需要人工确认?测试人员在旁边看着脚本运行?
作者: near    时间: 2010-3-5 17:28
标题: 回复 13# 的帖子
呵呵    再自动点掉就好了    我只是试试这个功能
作者: Andysky    时间: 2010-3-6 14:53
我是新手,学习中
作者: yujie6832    时间: 2010-3-8 09:36
标题: 回复 14# 的帖子
呵呵,自动点掉是有其办法的,第一个自然是SENDKEYS,第二个是MERCURY.REPLAY
作者: testlab    时间: 2010-3-8 11:14
楼上版主能不能讲解下mercury.replay,没用过这个
作者: zjx1001    时间: 2010-3-8 17:47
换printf试试




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