揭秘QTP的DeviceReplay对象

发表于:2008-5-07 14:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:译者:陈能技    来源:51Testing投稿

分享:

KeyDown方法

描述

模拟一个按键的按下并保持(相当于Win32KEY_DOWN事件)。

语法

object.KeyDown( key )

参数

object Mercury.DeviceReplay对象。

key 按键的数值码。可查阅后面的“Key Codes 参考”。

返回值

无。

例子

下面的例子会激活记事本(notepad)程序并使用大写和小写的方式输入字符串。注意在发送第一个字符串时,SHIFT键保持被按下的状态:

Const VK_SHIFT = 42

Const VK_RETURN = 28

Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )

SystemUtil.Run "notepad.exe", "", "", "open"

Window( "nativeclass:=Notepad", "index:=0" ).Activate micLeftBtn

' ** Typing uppercase

deviceReplay.KeyDown VK_SHIFT

deviceReplay.SendString( "devicereplay" )

deviceReplay.PressKey VK_RETURN

deviceReplay.KeyUp VK_SHIFT

' ** Typing in lower case

deviceReplay.SendString( "devicereplay" )

Set deviceReplay = Nothing

提示

KeyDown后应该有相应的KeyUp方法的调用。

KeyDown方法就像人工按下一个按键并保持按下的状态。

KeyUp方法

描述

模拟通过键盘释放某个按下的按键。

语法

object.KeyUp( key )

参数

object Mercury.DeviceReplay对象。

key 按键的数值码。可查阅后面的“Key Codes 参考”。

返回值

无。

例子

下面的例子会激活并并使用热键CTRL+O来打开记事本(notepad)的菜单,然后用ESC键关闭对话框。

Const VK_O = 24

Const VK_CONTROL = 29

Const VK_ESCAPE = 1

Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )

SystemUtil.Run "notepad.exe", "", "", "open"

Window( "nativeclass:=Notepad", "index:=0" ).Activate micLeftBtn

' ** Typing uppercase

Wait 1

' ** Opening the menu Ctrl + O

deviceReplay.KeyDown VK_CONTROL

deviceReplay.PressKey VK_O

deviceReplay.KeyUp VK_CONTROL

Wait 2

' ** Closing the menu

deviceReplay.PressKey VK_ESCAPE

deviceReplay.SendString "Menu Open, was closed."

Set deviceReplay = Nothing

提示

KeyUp方法应该与KeyDown方法配对使用。

多个KeyUp不会对应用程序造成影响。

如果需要组合热键,仅需要像人工执行的方式一样即可。

PressKey方法

描述

模拟通过键盘按下一个按键并立即释放。

语法

object.PressKey( key )

参数

object Mercury.DeviceReplay对象。

key 按键的数值码。可查阅后面的“Key Codes 参考”。

返回值

无。

例子

下面的例子会激活记事本并使用热键CTRL+O来模拟选择文件打开菜单,然后用ESCAPE按键关闭对话框。

Const VK_O = 24 : Const VK_F = 33

Const VK_CONTROL = 29 : Const VK_ESCAPE = 1 : Const VK_MENU = 56

Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )

SystemUtil.Run "notepad.exe", "", "", "open"

Window( "nativeclass:=Notepad", "index:=0" ).Activate micLeftBtn

Wait 1

' ** Opening the menu Alt + F + O

deviceReplay.PressKey VK_MENU

deviceReplay.PressKey VK_F

deviceReplay.PressKey VK_O

Wait 2

' ** Closing the menu

deviceReplay.PressKey VK_ESCAPE

deviceReplay.SendString "Open menu was closed."

Set deviceReplay = Nothing

 

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号