google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

[求助] QTP9.2如何记录键盘的操作?

QTP9.2如何记录键盘的操作?


请问QTP9.2如何记录键盘的操作?发现在录制的过程中,需要在键盘中输入文字的地方都没有被录制下来.
在回放的过程中当然也没法在继续进行下去了.有谁知道的话,please tell me.thanks a lot.

TOP

楼主是在哪里输入文字没有录制下来?WebElement?WebEdit?用Spy查看下那个输入文字地方是个什么对象吧~
如果不是Edit或者WebEdit,那么就使用wsh的sendkeys方法吧,有很多帖子都介绍过这种方法,在论坛中搜索wscript.shell 或者 .sendkeys即可
路漫漫其修远兮,吾需努力再努力

欢迎加我MSN共同讨论QTP疑难杂症~加好友时请注明51testing~

TOP

先看看你要输入数据的对象的类型再说
实践是检验真理的唯一标准。

TOP

录制的时候输入内容没有录制进去是你的对象识别有问题。
发送键盘消息方法:(QTP中按F1帮助,搜索SendKeys)
set WshShell = WScript.CreateObject("WScript.Shell")
         WshShell.Run "calc"
         WScript.Sleep 100
         WshShell.AppActivate "Calculator"
         WScript.Sleep 100
         WshShell.SendKeys "1{+}"
         WScript.Sleep 500
         WshShell.SendKeys "2"
         WScript.Sleep 500
         WshShell.SendKeys "~"
         WScript.Sleep 500
         WshShell.SendKeys "*3"
         WScript.Sleep 500
         WshShell.SendKeys "~"
         WScript.Sleep 2500

TOP

请问要是用wscript使用组合键应该怎么办?
例如:win+R="运行"

TOP

我记得可以用DevicePlay对象,这个对象好像有一个文档的,我可以给你看一段代码,这个是模拟Shift和Enter键的,具体的内容,你可以Google一下
=======================================
Option Explicit

Const VK_Shift=42, VK_Return=28

Dim DeviceReplay

Set DeviceReplay=CreateObject("Mercury.DeviceReplay")
SystemUtil.Run "notepad","","C:\",""
Window("nativeclass:=Notepad", "index:=0").Activate micLeftBtn
'**Typing upperclass
DeviceReplay.KeyDown VK_Shift
DeviceReplay.SendString("i love this game")
DeviceReplay.PressKey VK_Return
DeviceReplay.KeyUp VK_Shift
'**Typing lower class
DeviceReplay.SendString("i love this game")

Set DeviceReplay=Nothing

TOP

恩,学到咯
少无适俗韵,性本爱丘山。误落尘网中,一去二十年。

TOP

引用:
原帖由 heqingbluesky 于 2008-5-9 14:18 发表
我记得可以用DevicePlay对象,这个对象好像有一个文档的,我可以给你看一段代码,这个是模拟Shift和Enter键的,具体的内容,你可以Google一下
================================= ...
呃~非常感谢您的提示,这段代码偶也有看到,不过如这段代码说的VK_SHIFT=42

那么就是说在QTP里,每一个键都有一个自己的值,但是不属于标准键盘里的WIN键是否有属于自己的键值呢!

偶已经得到LWIN=91,RWIN=92,可是这两个值不是QTP中的值,不知道有什么方法可以得到键值吗?

TOP

 
当前时区 GMT+8, 现在时间是 2008-12-5 17:14Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹