51Testing软件测试论坛

标题: 如何写vbs,后台运行识别window弹出的对话框 [打印本页]

作者: sunnyswu    时间: 2011-1-6 20:07
标题: 如何写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
标题: 谔谔
学习
作者: 风雪夜归人    时间: 2011-1-7 11:13
远程桌面关闭或者最小化的时候,脚本都不能正确的执行, 包括截屏,激活窗口等,建议使用vnc,随便怎么都行,不会出现执行错误的..

如果楼主仅仅是需要监控不定时弹出的固定标题的窗口的话,建议用 Recovery Scenario, 打开方法:
Resources->Recovery Scenarion Menager...
作者: deadhunter    时间: 2011-1-7 14:06
同求方法
作者: sunnyswu    时间: 2011-1-7 20:58
哈哈,今天试验了下,有了解决办法!
作者: sunnyswu    时间: 2011-1-7 21:02
说给大家 听听。
不用 winbutton的click方法,而是 创建wscript.shell对象,
然后发送enter键,这样的话,就能正常跑过了!
个人理解,click 方法是根据对象得到winbutton的坐标,然后执行点击。
大家 可以看,click方法其实有两个可选参数,就是坐标。如果,没有指定,应该是qtp自己获取吧。
这样才能解释,将远程桌面最小化时,qtp是无法获得坐标的,这样就不能执行了。
而发送键盘按键,是和坐标没有关系的。
作者: deadhunter    时间: 2011-1-11 14:25
说给大家 听听。
不用 winbutton的click方法,而是 创建wscript.shell对象,
然后发送enter键,这样的话, ...
sunnyswu 发表于 2011-1-7 21:02


不错,怎么自己没想到
作者: deadhunter    时间: 2011-1-11 15:08
尝试了,还是不行,报错,找不到对象
作者: deadhunter    时间: 2011-1-13 08:20
set ws=createobject("Wscript.shell")
      ws.SendKeys "{ENTER}"
  Set ws=Nothing

如果最小化远程桌面还是不行




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