`
yidongkaifa
  • 浏览: 4059046 次
文章分类
社区版块
存档分类
最新评论

Mercury.DeviceReplay对象实现鼠标、键盘模拟操作

 
阅读更多

这里介绍一下Mercury.DeviceReplay这个对象,来实现对鼠标、键盘的模拟操作,它是一个很实用的对象,但QTP帮助文档中对几乎没有此介绍。

这个对象用来模拟鼠标的单击和移动、键盘输入等,但有个前提,实用该对象前,需要保证键盘状态正确如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态。

1)创建DeviceReplay对象:

Set devReplay=CreateObject("Mercury.DeviceReplay")

2)Mercury.DeviceReplay包括如下方法:

1、SendString方法

向激活的窗口发送一个或多个键盘按键:object.SendString( str )

2、KeyDown方法

模一个按键的按下并保持:object.KeyDown( key ) key : 按键的数值码

3、KeyUp方法
模拟通过键盘释放某个按下的按键:object.KeyUp( key )

4、PressKey方法
模拟通过键盘按下一个按键并立即释放:object.PressKey( key )

5、PressNKeys方法
模拟通过键盘多次按下一个按键并立即释放:object.PressNKey( key, N ) N:重复次数

6、DragAndDrop方法
用于执行从一点拖动到另外一点的操作:object.DragAndDrop( dragX, dragY, dropX, dropY, Button )

Button 的值包括

LEFT_MOUSE_BUTTON = 0

MIDDLE_MOUSE_BUTTON = 1

RIGHT_MOUSE_BUTTON = 2

7、MouseClick方法
在指定的屏幕位置执行鼠标左键或右键的单击操作:object.MouseClick( x, y, Button )

8、MouseDbClick方法
在指定的屏幕位置中执行鼠标左键或右键的双击事件:object.MouseDblClick( x, y, Button )

9、MouseDown方法
在屏幕指定位置按下鼠标左键或右键,并保持按下状态:object.MouseDown( x, y, Button )

10、MouseUp方法
用于释放之前执行的MouseDown方法所按下的鼠标按键:object.MouseDown( x, y, Button )

11、MouseMove方法
用于模拟鼠标移动:object.MouseMove( x, y)

12、SetSynchronizationTimeout方法
设置一个新的同步超时的时间值:object. SetSynchronizationTimeout(nSyncTimeout , is_sec)
nSyncTimeout : 同步超时的时间值

is_sec : 指定设置的时间值是否以秒为单位

3)最后,记得释放DeviceReplay对象

Set devReplay =nothing

4)一个非常简单的鼠标单击的例子

Set devReplay=CreateObject("Mercury.DeviceReplay")
devReplay.MouseMove 650 , 160
devReplay.MouseClick 650,160,0
Set devReplay =nothing



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics