【软件测试自动化-QTP系列讲座 10】 == QTP的两种回放模式 ==

<!-- google_ad_client = "pub-9907354422678176"; /* 728x15, 创建于 09-11-7 */ google_ad_slot = "1583278733"; google_ad_width = 728; google_ad_height = 15; // -->

当你在回放QTP的时候,你是否有注意过QTP在回放的时候鼠标是没有运动的

有些朋友肯定会问,既然是CLICK点击为什么鼠标没有动,而QTP回放的时候却可以成功的点击按钮的呢

<!-- google_ad_client = "pub-9907354422678176"; /* 336x280, 创建于 09-11-6 */ google_ad_slot = "6466748603"; google_ad_width = 336; google_ad_height = 280; // -->

其实QTP是有两种回放模式的:

1. Event模式 -- 事件跟踪

2. Mouse模式 -- 鼠标跟踪

Event模式就是我们平时默认用的模式,也就是事件,其实QTP的click方法只是触发了对象的CLICK事件,而并未真正通过鼠标来进行点击按钮。而如果我们使用的是Mouse模式的话,我们会看到回放的时候,鼠标是跟着对象走的,也就是鼠标跟踪模式。

下面我们来具体看一下是怎么切换回放模式:

切换回放模式有两种方法:

a.修改QTP OPTIONS设置

我们进入到TOOLS--》options--》WEB-->ADVANCED 然后列表拖到最下面可以找到REPLAY TYPE

【软件测试自动化-QTP系列讲座 10】 == QTP的两种回放模式 ==

我们可以看到QTP默认的回放模式是EVENT,也就是事件跟踪。

如果我们现在切换到MOUSE,点击确认后,回放时鼠标就会进行跟踪,不信大家可以试一下。

b.代码控制(个人推荐第二种)

为什么推荐这种方式,因为这种方式可以在QTP运行时根据我们的个性化需要来进行控制,随时可以进行开和关

而使用第一种方式就不能够达到以上的效果。

代码:

Setting.WebPackage("ReplayType") = 2

这句话的意思就是把回放模式设置为2, 1代表事件跟踪,2代表鼠标跟踪

很清楚了吧,这样我们就可以在QTP运行时个性化的定制我们的回放模式

那说到这里,肯定会有朋友问,那鼠标模式有什么用,我们平时默认的事件模式不是都够用了吗

接下来就说一下,我们为什么要使用鼠标模式,比如触发了CLICK事件后,应该弹出页面的,却被IE给拦截了,而手工点击可以成功

;还有当我们需要操作鼠标右键的时候,等等这些情况我们都可以临时把回放模式切换成鼠标模式

==================实例==================

我们现在要实现右键点击GOOGLE主页中GOOGLE大全的链接

1.首先我们把这个链接对象加载到QTP对象库中

【软件测试自动化-QTP系列讲座 10】 == QTP的两种回放模式 ==

2.添加完之后我们输入一下脚步

Setting.WebPackage("ReplayType") = 2 Browser("Google").Page("Google").Link("Google 大全").FireEvent "onclick",,,micRightBtn

3.回放之后就可以看到已经成功点击了右键

【软件测试自动化-QTP系列讲座 10】 == QTP的两种回放模式 ==

FireEvent这是个很有用的方法,后续我会详细介绍它的用法

这边先附上简单的方法介绍

Argument Description
object A test object of type WebElement.
EventName Required. A String value. The name of event to trigger. Available events: onchange, onclick, ondblclick,onblur, onfocus, onmousedown, onmouseup, onmouseover, onmouseout, onsubmit, onreset, onpropertychange.
x Optional. A Long value. The x-coordinate, relative to the upper left corner of the object.
y Optional. A Long value. They-coordinate, relative to the upper left corner of the object.
BUTTON Optional. A predefined constant or number. See the Constants table, below. The mouse button used to fire the object. Default = micLeftBtn (0).
<!--DXMETADATA end --><!--DXMETADATA start type="SyntaxSettings" format="<dt><dd>%%SyntaxSettings%%" -->