1. QTP测试对象的Type方法
举例:
Browser("Untitled").Dialog("Properties").WinButton("OK").Type micReturn
2. WSH中的SendKeys方法
举例:
Set wshobj = CreateObject("WScript.Shell")
wshobj.SendKeys "{ENTER}"
Set wshobj = Nothing
3. QTP隐藏对象Mercury.DeviceReplay
在Mercury.DeviceReplay对象下,有像SendString,PressKey,PressKeys,KeyUp和KeyDown之类的方法可以用来模拟键盘操作。
4. 调用Windows API
extern.Declare micVoid, "keybd_event", "user32", "keybd_event", micbyte, micbyte, miclong, miclong
extern.Declare micLong, "MapVirtualKey", "user32", "MapVirtualKeyA", micLong, micLong
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_KEYDOWN = &H0
Sub KeyDown(KeyAscii)
extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYDOWN, 0
End Sub
Sub KeyUp(KeyAscii)
extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYUP, 0
End Sub
Sub KeyPress(KeyAscii)
extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYDOWN, 0
extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYUP, 0
End Sub
Const vbKeyControl = 17
Const vbKeyEscape = 27
Const vbKeyR = 82
Call KeyDown(vbKeyControl)
Call KeyDown(vbKeyEscape)
Call KeyUp(vbKeyEscape)
Call KeyUp(vbKeyControl)
Call KeyPress(vbKeyR)