`
isiqi
  • 浏览: 16562900 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

QTP模拟鼠标和键盘事件整理

阅读更多

1 鼠标事件

1.1 使用自带的Click方法

QTP的帮助,每个对象都有自带的Click方法,通过其中第三个参数指定具体的鼠标事件

例如:

Browser("New Page").page("New Page").WebElement("html tag:=Form").Click

0,0,micRightBtn

注意Click方法的前两个参数是相对坐标,即相对于对象控件左上角的坐标。

然而执行脚本时常常发现右键功能无法回放。这需要通过设置回放级别解决。例如:

Setting.WebPackage("ReplayType") = 2

Browser("New Page").page("New Page").WebElement("html tag:=Form").Click

0,0,micRightBtn
Setting.WebPackage("ReplayType") = 1

1.2 使用自带的FireEvent方法

具体使用参考QTP的帮助吧,需要提醒一下,右键菜单的弹出对应的是"oncontextmenu"事件,这个帮助里没有提到,当然依赖于开发的代码实现。

1.3 使用mercury.devicereplay

Set devReplay = CreateObject("mercury.devicereplay")
devReplay.MouseClick absx+4,absy+4,2

1.4 使用Windows底层的mouse_event

如果上面的方法仍然不管用,就要采用更底层的方法了。不过这种方式不推荐,因为mouse_event识别的是绝对坐标,你还需要在调用mouse_event前获取对象的绝对坐标。需要说明的是,如果没有使用MOUSEEVENTF_ABSOLUTE,函数默认的是相对于鼠标当前位置的点,用00表示,会被认为是当前鼠标所在的点。

Extern.Declare micVoid, "mouse_event", "user32.dll", "mouse_event", micByte,micByte,micDWord,micULong

Extern.mouse_event MOUSEEVENTF_RIGHTDOWN,0,0,0

2 键盘事件

2.1 SendKeys

最常用的模拟键盘操作的事件就是SendKeys了,具体说明一样参考QTP的帮助。

需要说明的是QTP帮助中的例子,需要做一些调整,QTP中执行不需要显示指定Wscrīpt执行shell命令,否则会报错。正确的例子如下:

Set WshShell = CreateObject("Wscrīpt.Shell")
WshShell.SendKeys "{DOWN}"

2.2Mercury.DeviceReplay

Set devReplay = CreateObject("mercury.devicereplay")
devReplay.
SendString("a")

下面这篇文章介绍的比较清楚。
http://www.51testing.com/?161787/action_viewspace_itemid_84200.html

2.3 使用Windows底层的keybd_event

Extern.Declare micVoid, "keybd_event", "user32.dll", "keybd_event", micByte,micByte,micDWord,micULong
Extern.keybd_event 42,0,0,0

注意一下这里的第一个参数是10进制的。

SendKeys的使用要方便一点,但是稳定性不如后者,

Function RtClick( Obj )
absx = Obj.GetROProperty("abs_x")
absy = Obj.GetROProperty("abs_y")

Set devReplay = CreateObject("mercury.devicereplay")
devReplay.MouseClick absx+4,absy+4,2
set devReplay = nothing
End Function

分享到:
评论

相关推荐

    模拟鼠标键盘的控件(附源代码)

    例如,你可以创建一个按钮,当点击这个按钮时,通过调用模拟MK控件的方法,实现鼠标在屏幕上的移动、单击、双击等动作,或者模拟键盘的按键事件,如按下、释放等。这样,即使没有物理设备,程序也能自动执行一系列的...

    QTP模拟键盘输入方法

    ### QTP模拟键盘输入方法详解 #### 一、概述 在自动化测试领域,尤其是Web应用和桌面应用的自动化测试过程中,模拟键盘输入是一项非常重要的功能。...希望本文能够帮助大家更好地理解和掌握QTP中的模拟键盘输入技巧。

    QTP脚本技术(权威)整理

    QTP,全称为QuickTest Professional,是自动化测试领域的一款强大工具,由HP(现已被Micro Focus收购)开发,主要用于功能测试和回归测试。QTP基于关键字驱动和数据驱动的测试理念,使得非编程背景的测试人员也能...

    QTP的安装和配置过程

    "QTP安装和配置过程详解" QTP(Quick Test Professional)是一款功能强大的测试自动化工具,广泛应用于软件测试领域。为了帮助初学者和测试人员快速掌握QTP的安装和配置过程,本文将详细介绍QTP 9.2的安装设置过程...

    QTP11操作手册整理

    【QTP11操作手册整理】 Quick Test Professional (QTP) 11 是一款由HP公司(现可能为Micro Focus)开发的功能测试自动化工具,它主要用于执行功能测试和回归测试的自动化。QTP11在2009年发布,支持多种操作系统、...

    QTP利用VBS的SendKeys模拟键盘操作

    QTP(QuickTest Professional)是一款自动化测试工具,通过使用VBS(Visual Basic Scripting)脚本,可以模拟键盘操作,实现自动化测试和操作。本文将详细介绍QTP利用VBS的SendKeys模拟键盘操作的方法和技巧。 基本...

    QTP安装和使用教程

    QTP安装和使用教程; QTP自动化测试; QTP安装过程中的注意事项;

    QTP脚本编程语言VBS学习整理的VBScript学习笔记.doc

    QTP脚本语言VBS编程VBScript学习的的基础笔记整理,QTP脚本语言VBS的编程能力的操作教程,文档中的图文解说非常详细,很适合初学者和QTP能力的进阶提升

    QTP11操作手册整理.rar

    总结,QTP11操作手册整理详细介绍了QTP11的各项功能和使用技巧,无论是初学者还是经验丰富的测试工程师,都能从中获取有价值的信息,提升自动化测试的能力。通过深入理解和实践,我们可以更有效地利用QTP11进行功能...

    qtp初学者快速入门

    模拟录制模式记录所有键盘和鼠标的精确操作,但脚本文件较大,且不易编辑;低级录制模式录制鼠标和键盘的所有操作,并且对对象位置要求严格。 整个QTP自动化测试流程包括测试计划、测试设计、测试执行和测试维护等...

    QTP经典面试题

    模拟模式记录鼠标和键盘的精确动作,适用于拖放、画画等操作。 8) 调用Action有两种方式:复制Action,将对象存储库、脚本和时间戳复制到目标测试;或者调用现有Action,仅生成对源Action的引用,不复制内容。 9) ...

    QTP.rar_QTP 安装_QTP支持的系统_QTP的测试_qtp

    在安装过程中,确保你的系统满足QTP的硬件和软件需求,例如.NET Framework和Java Runtime Environment。此外,为了使QTP能够录制和回放Web应用程序,需要安装特定的浏览器插件。 **QTP支持的系统**: QTP广泛支持...

    QTP一些实用例子集合

    QTP的`SendKeys`函数可以用来模拟任意的键盘事件,这对于需要手动输入数据的场景,如登录、搜索等,是非常有用的。 5. **返回状态值**:在自动化测试中,获取并分析测试结果的状态非常重要。QTP的函数如`Err`对象和...

    QTP常用脚本总结

    QTP提供了两种回放模式:事件模式(1)和鼠标模式(2)。在默认情况下,QTP会根据被测试应用的特性自动选择合适的模式。设置回放模式为鼠标模式的脚本如下: ```vbscript Setting.WebPackage("ReplayType") = 2 ...

    qtp9.2.rar_QTP9.2

    2. **增强的回放和录制功能**:QTP 9.2的录制与回放功能进一步优化,支持多种复杂操作,如拖放、右键菜单等,使录制的脚本更加准确地模拟用户行为。 3. **数据驱动测试**:通过数据驱动测试,QTP 9.2可以链接到外部...

    QTP11下载地址

    - **系统要求**:确保目标计算机满足QTP11的最低硬件和软件要求。 - **下载地址**:根据提供的链接(http://pan.baidu.com/s/1rE3l6),下载QTP11安装包。需要注意的是,该链接可能已经失效或不安全,请通过官方渠道...

Global site tag (gtag.js) - Google Analytics