51Testing软件测试论坛

标题: mercury.devicereplay下的方法怎么用 [打印本页]

作者: jacksboy    时间: 2009-2-17 19:32
标题: mercury.devicereplay下的方法怎么用
mercury.devicereplay下的pressnKey方法怎么用。

比如我想录这个操作:(鼠标右击开始,在弹出的选项中选择属性)

Window("Window").WinButton("开始").Click 0, 0, micRightBtn

‘用MERCURY.DEVICEREPLAY怎么录选取属性的操作。

Dim DevRep

set DevRep=CreateobJECT("MERCURY.DeviceReplay")
wait 1

DevRep.PressNKeys "38",3

DevRep.PressKey "108"

pressNKeys 是模拟连续按下一个KEY的操作,这里写的38是micup的VBCODE,循环三次

然后presskey是模拟按下一个按键的操作,108是ENTER的VBCODE,

为什么我这样做没有任何反应。直接运行就退出了也不报错。谢谢

[ 本帖最后由 jacksboy 于 2009-2-17 19:43 编辑 ]
作者: asoqa    时间: 2009-2-18 12:04
http://www.51testing.com/?161787 ... e_itemid_84200.html
作者: jacksboy    时间: 2009-2-18 13:28
我就是看了这类似的文章。可很多方法用起来还是无法实现阿
作者: asoqa    时间: 2009-2-18 15:04
首先解答你的问题。向下箭头的VK码是80,回车的VK码是28,因此代码需要改成:DevRep.PressNKeys "80",3
DevRep.PressKey "28"
注意:在这个时候,要关闭数字键盘,否则会引起冲突,仍然无法回放成功。

其次提几个替代解决方案完成你想要的功能:
1.可以用DevRep.SendString "r"
2.可以用DevRep.PressKey "19"
'因为r的vk码是19
作者: asoqa    时间: 2009-2-18 15:05
给你个VK码的地址
http://www.advancedqtp.com/knowl ... ented-devicereplay/
作者: jacksboy    时间: 2009-2-18 16:00
嗯,多谢,能够实现,我还想问下,
这些VK码是怎么定义的啊。
比如这个向下的箭头是80,在这篇文章里是用
Const VK_NUMPAD2 = 80来表示的,你怎么知道这是代表向下的箭头呢。
作者: asoqa    时间: 2009-2-18 17:56
汗!文章的最后有个表格,表格中明确写了
VK_DOWN 80 Down arroy key.




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