QTP:按住ctrl进行多选的问题

上一篇 / 下一篇  2008-07-23 13:18:40

昨天遇到一个问题,在我们测试的网站上有个功能:按住ctrl键可以选择页面里的多张图片

起初录制了脚本,但是在回放过程中,QTP似乎没有进行按住ctrl的操作,这样,先前选择的4张图片变成了每张各自被选择了,没有达到多选的效果。通过网友的帮助,找到了解决的办法,和大家分享一下,也希望能启发有类似疑惑的朋友。顺便感谢那两位给我帮助的朋友!

QTP中包含了Mercury.DeviceReplay对象,可以模拟鼠标单击和移动,还有键盘输入等操作。在调用DeviceReplay对象的方法之前,需要首先创建DeviceReplay对象:Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )。DeviceReplay对象包含很多有用的方法,大家可以参考相关文档,我这里用到了KeyDown方法和KeyUp方法。KeyDown方法模拟一个按键的按下并保持(相当于Win32KEY_DOWN事件)。KeyUp方法模拟通过键盘释放某个按下的按键。贴上一段脚本供大家参考:

Browser("LOGIN").Page("LOGIN").Frame("main").WebEdit("loginId").Set "11"
Browser("LOGIN").Page("LOGIN").Frame("main").WebEdit("password").SetSecure "48868cec12e855ab2f943f8814b33f40"
Browser("LOGIN").Page("LOGIN").Frame("main").Image("LOGIN").Click 35,6
Browser("LOGIN").Page("IMAGE WORKS").Sync
Window("安全").Click 115,285
Const VK_CONTROL = 29
Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )
deviceReplay.KeyDown VK_CONTROL
wait(5)
Browser("LOGIN").Page("IMAGE WORKS").Frame("appletfile").WinObject("SunAwtCanvas").Click 94,105
wait(2)
Browser("LOGIN").Page("IMAGE WORKS").Frame("appletfile").WinObject("SunAwtCanvas").Click 210,83
wait(2)
Browser("LOGIN").Page("IMAGE WORKS").Frame("appletfile").WinObject("SunAwtCanvas").Click 359,101
wait(2)
Browser("LOGIN").Page("IMAGE WORKS").Frame("appletfile").WinObject("SunAwtCanvas").Click 517,102
wait(2)
deviceReplay.KeyUp VK_CONTROL
Browser("LOGIN").Page("IMAGE WORKS").Frame("header").Image("LOGOUT").Click
Browser("LOGIN").Page("LOGIN_2").Sync

Browser("LOGIN").Close

以上脚本是登陆一个web系统,通过ctrl选择4张图片,然后注销用户的过程。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-12  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6511
  • 日志数: 6
  • 文件数: 3
  • 建立时间: 2008-06-04
  • 更新时间: 2008-10-24

RSS订阅

Open Toolbar