sunnyswu 发表于 2011-1-6 20:07:37

如何写vbs,后台运行识别window弹出的对话框

测试web程序,执行过程中,弹出很多次对话框。
如果,把脚本放到远程服务器上执行,登录后,不离开要一直把鼠标停留在远程的桌面上,脚本很好的执行。
如果,关闭本地的远程桌面,而没有logoff,或者切换到本地桌面,那么脚本会在弹出窗口时等待很长的时间,而不能进一步想下执行。
代码是这样的,
while browser(“”).window("").exist(10)
browser("").window("").activate
browser("").window("").winbutton("").click
end while
问题会在browser("").window("").activate吗? 猜测,还没来得及验证

tlu_jj 发表于 2011-1-7 09:52:50

谔谔

学习

风雪夜归人 发表于 2011-1-7 11:13:44

远程桌面关闭或者最小化的时候,脚本都不能正确的执行, 包括截屏,激活窗口等,建议使用vnc,随便怎么都行,不会出现执行错误的..

如果楼主仅仅是需要监控不定时弹出的固定标题的窗口的话,建议用 Recovery Scenario, 打开方法:
Resources->Recovery Scenarion Menager...

deadhunter 发表于 2011-1-7 14:06:15

同求方法

sunnyswu 发表于 2011-1-7 20:58:41

哈哈,今天试验了下,有了解决办法!

sunnyswu 发表于 2011-1-7 21:02:12

说给大家 听听。
不用 winbutton的click方法,而是 创建wscript.shell对象,
然后发送enter键,这样的话,就能正常跑过了!
个人理解,click 方法是根据对象得到winbutton的坐标,然后执行点击。
大家 可以看,click方法其实有两个可选参数,就是坐标。如果,没有指定,应该是qtp自己获取吧。
这样才能解释,将远程桌面最小化时,qtp是无法获得坐标的,这样就不能执行了。
而发送键盘按键,是和坐标没有关系的。

deadhunter 发表于 2011-1-11 14:25:10

说给大家 听听。
不用 winbutton的click方法,而是 创建wscript.shell对象,
然后发送enter键,这样的话, ...
sunnyswu 发表于 2011-1-7 21:02 http://bbs.51testing.com/images/common/back.gif

不错,怎么自己没想到

deadhunter 发表于 2011-1-11 15:08:24

尝试了,还是不行,报错,找不到对象

deadhunter 发表于 2011-1-13 08:20:06

set ws=createobject("Wscript.shell")
      ws.SendKeys "{ENTER}"
Set ws=Nothing

如果最小化远程桌面还是不行
页: [1]
查看完整版本: 如何写vbs,后台运行识别window弹出的对话框