`
qihuitoday
  • 浏览: 11413 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

在QTP中四种模拟键盘输入的方式

vb 
阅读更多

1. QTP测试对象的Type方法

举例: 

  1. Browser("Untitled").Dialog("Properties").WinButton("OK").Type micReturn  
Browser("Untitled").Dialog("Properties").WinButton("OK").Type micReturn


2. WSH中的SendKeys方法

 

举例:

 

  1. Set wshobj = CreateObject("WScript.Shell")  
  2. wshobj.SendKeys "{ENTER}"  
  3. Set wshobj = Nothing  
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

 

  1. extern.Declare micVoid, "keybd_event""user32""keybd_event", micbyte, micbyte, miclong, miclong  
  2.   
  3. extern.Declare micLong, "MapVirtualKey""user32""MapVirtualKeyA", micLong, micLong  
  4.   
  5. Const KEYEVENTF_EXTENDEDKEY = &H1  
  6. Const KEYEVENTF_KEYUP = &H2  
  7. Const KEYEVENTF_KEYDOWN = &H0  
  8.   
  9. Sub KeyDown(KeyAscii)  
  10.     extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYDOWN, 0  
  11. End Sub  
  12.   
  13. Sub KeyUp(KeyAscii)  
  14.     extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYUP, 0  
  15. End Sub  
  16.   
  17. Sub KeyPress(KeyAscii)  
  18.     extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYDOWN, 0  
  19.     extern.keybd_event KeyAscii, extern.MapVirtualKey(KeyAscii, 0), KEYEVENTF_KEYUP, 0  
  20. End Sub  
  21.   
  22. Const vbKeyControl = 17  
  23. Const vbKeyEscape = 27  
  24. Const vbKeyR = 82  
  25.   
  26. Call KeyDown(vbKeyControl)  
  27. Call KeyDown(vbKeyEscape)  
  28. Call KeyUp(vbKeyEscape)  
  29. Call KeyUp(vbKeyControl)  
  30. Call KeyPress(vbKeyR)  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics