honghongkeai 发表于 2008-7-23 10:17:21

QTP应该如何录制:按住ctrl多选

我现在按住CTRL选4条,每次回放都是单独各自选择一条。应该怎么解决呢,请给我指点一下把,谢谢

在线等:L

zte_boy 发表于 2008-7-23 10:37:19

用DeviceReplay对象

zte_boy 发表于 2008-7-23 10:41:33

用DeviceReplay对象的KeyDown( key ) 方法按下ctrl键,然后用MouseClick( x, y, Button )方法点击记录
当然,需要先要获取坐标

假装不在 发表于 2008-7-23 10:49:18

:hug:
object.type micCtrlDwn
最后不行才考虑sendkeys

不过记得把它按起来,不然一会你脚本运行完后,键盘操作会很奇怪的。:lol

honghongkeai 发表于 2008-7-23 10:50:10

谢谢你的答案,可是俺是个新手,还不太听得懂,我事事先

谢谢你们的答案,可是俺是个新手,还不太听得懂,我事事先

honghongkeai 发表于 2008-7-23 11:15:48

感谢两位!刚才的问题解决了
把简单的脚本贴上来,希望对其他人有所帮助:
Browser("LOGIN").Page("LOGIN").Frame("main").WebEdit("loginId").Set "wuqi1"
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


以上是登陆系统以后,按住ctrl选择了4张图片

MarsNoNo 发表于 2008-9-19 16:27:21

好方法,又学一招!

blueeagle9999 发表于 2009-8-27 17:28:15

我用这方法怎么不好使啊,还是只选择了一个:Q

blueeagle9999 发表于 2009-8-27 17:28:55

不是录制的不行吗?:o

whoamiyaya 发表于 2009-8-28 22:05:03

酷,学习了,谢谢lz:)

lixiaoxiao6 发表于 2010-6-10 14:26:57

谢谢

:lol :lol 正需要呢,谢谢了:lol

fanliukund 发表于 2010-6-11 14:51:50

非常感谢...正需要..哈哈::zhuhe:::

Diana_zhaozhao 发表于 2011-9-5 18:53:46

请问楼主VK_CONTROL是什么意思呢?是ctrl键么?这里为什么是“VK_CONTROL”呢?

Diana_zhaozhao 发表于 2011-9-5 18:54:47

deviceReplay对象一定要结合坐标使用么?

shanfeng1419 发表于 2011-9-6 08:49:13

学习了

javaweb2006 发表于 2011-9-7 17:14:21

还是只能使用坐标来锁定对象啊。

阳光下的橙子 发表于 2011-9-9 11:36:19

回复 13# Diana_zhaozhao


Const VK_CONTROL = 29
'声明一个字符常数,29是ctrl的代码code,还不明白的话去查查const声明的意思

Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )、
创建一个devicereplay对象

deviceReplay.KeyDown VK_CONTROL
按住ctrl不放

fl893321515 发表于 2014-12-30 17:08:18

阳光下的橙子 发表于 2011-9-9 11:36
回复 13# Diana_zhaozhao




shift 键值是多少?shift多选怎么写?
页: [1]
查看完整版本: QTP应该如何录制:按住ctrl多选