51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3297|回复: 7
打印 上一主题 下一主题

[原创] QTP9.2如何记录键盘的操作?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-17 17:36:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问QTP9.2如何记录键盘的操作?发现在录制的过程中,需要在键盘中输入文字的地方都没有被录制下来.
在回放的过程中当然也没法在继续进行下去了.有谁知道的话,please tell me.thanks a lot.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-17 18:29:03 | 只看该作者
楼主是在哪里输入文字没有录制下来?WebElement?WebEdit?用Spy查看下那个输入文字地方是个什么对象吧~
如果不是Edit或者WebEdit,那么就使用wsh的sendkeys方法吧,有很多帖子都介绍过这种方法,在论坛中搜索wscript.shell 或者 .sendkeys即可
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-9-17 18:44:49 | 只看该作者
    先看看你要输入数据的对象的类型再说
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-9-17 19:57:01 | 只看该作者
    录制的时候输入内容没有录制进去是你的对象识别有问题。
    发送键盘消息方法:(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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-5-9 11:31:04 | 只看该作者
    请问要是用wscript使用组合键应该怎么办?
    例如:win+R="运行"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-5-9 14:18:58 | 只看该作者
    我记得可以用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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-5-9 16:54:05 | 只看该作者
    恩,学到咯
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-5-12 11:14:02 | 只看该作者
    原帖由 heqingbluesky 于 2008-5-9 14:18 发表
    我记得可以用DevicePlay对象,这个对象好像有一个文档的,我可以给你看一段代码,这个是模拟Shift和Enter键的,具体的内容,你可以Google一下
    ================================= ...

    呃~非常感谢您的提示,这段代码偶也有看到,不过如这段代码说的VK_SHIFT=42

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

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

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-9 00:03 , Processed in 0.070909 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表