QTP的回放模式有两种,如下所示:

1.  Event模式  --  事件跟踪

2.  Mouse模式 --   鼠标跟踪

Event模式就是我们平时默认用的模式,也就是事件,其实QTP的click方法只是触发了对象的CLICK事件,而并未真正通过鼠标来进行点击按钮。

而如果我们使用的是Mouse模式的话,我们会看到回放的时候,鼠标是跟着对象走的,也就是鼠标跟踪模式。

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

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

a.修改QTP OPTIONS设置

我们进入到TOOLS--》options--》WEB-->ADVANCED  然后列表拖到最下面可以找到REPLAY TYPE,可以选择是通过Event或者Mouse回放模式。

我们可以看到QTP默认的回放模式是EVENT,也就是事件跟踪。如果我们现在切换到MOUSE,点击确认后,回放时鼠标就会进行跟踪,大家可以试一下。

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

为什么推荐这种方式,因为这种方式可以在QTP运行时根据我们的个性化需要来进行控制,随时可以进行开和关,而使用第一种方式就不能够达到以上的效果。

代码如下:

Setting.WebPackage("ReplayType") = 2

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

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

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

,接下来就说一下,我们为什么要使用鼠标模式,比如触发了CLICK事件后,应该弹出页面的,却被IE给拦截了,而手工点击可以成功;还有当我们需要操作鼠标右键的时候,等等这些情况我们都可以临时把回放模式切换成鼠标模式。

之前在用到loadrunner自带订票网站进行订票时,发现continue按钮手工可以点击,但是通过脚本执行时,脚本有点击操作,但是事件未真正发生,点击continue按钮后,没有进入到下一页面。后来通过动态修改回放模式,改成鼠标模式,则事件响应正常,问题得到解决。

Setting.WebPackage("ReplayType") = 2 'Mouse

Browser("Web Tours").Page("Web Tours").Frame("info").Image("findFlights").Click

Setting.WebPackage("ReplayType")=1'Events
 
 

QTP之回放模式(ReplayType)的更多相关文章

  1. QTP鼠标点击和浏览器事件的动态切换

    今天在群里有人问到一个问题,我觉得应该会有很多人会碰到,今天根据自己的思路把这个解决方案整理出来,供自己和大家参考 需求描述: 当输入一个身份证号码的时候,这个号码所对应的数据会被加载到所属的省和市的 ...

  2. QTP日常积累

    1.init同步测试对象 同步测试对象: CODE: Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit(" ...

  3. QTP测试学习笔记

    QuickTest Professional(简称QTP)功能自动化测试,原属于Mercury Interactive公司产品,2006年7月被惠普公司收购了,通过安装文件目录可以看到,都是默认放在C ...

  4. ASM:《X86汇编语言-从实模式到保护模式》越计卷:实模式下对DMA和Sound Blaster声卡的控制

    说实话越计卷作者用了16页(我还是删过的),来讲怎么控制声卡,其实真正归纳起来就那么几点. ★PART1:直接存储访问 1. 总线控制设备(bus master) 在硬件技术不发达的早期,处理器是最重 ...

  5. Qtp自动测试工具

    QTP是基于GUI界面的自动化测试工具,用于系统的功能测试. QTP录制的是鼠标和键盘的消息.QTP录制回放时基于windows操作系统的消息机制.QTP在录制时监听应用程序的消息,监听到之后把消息放 ...

  6. 自动测试工具(Jmeter,qtp等)

     loadrunner.Selenium.QTP三者区别?    Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试.  Selenium是开源的web自动测试工具,免费 ...

  7. url 模式录制脚本web_concurrent_start和web_concurrent_end

    LoadRunner函数中文翻译系列之三--Concurrent Groupweb_concurrent_start 语法: int web_concurrent_start ( [char * Co ...

  8. 容量测试之tcpcopy引流模式

    tcpcopy 给用户提供了很多命令参数来修改引流的模式和设置,详细可以查阅手册.在这里把几种常见的引流方式做个归纳小结,以tcpcopy传统架构使用命令举例. 1.分布式引流 用法:Tcpcopy可 ...

  9. qtp识别验证码

    花了两天时间才完整的完成识别验证码的登录操作,在网上看到很多关于验证码识别的方法,但是我用的qtp版本比较高级,所以还是要自己花心思研究.po上我的识别验证码的详细历程: 一.读取浏览器中的图片验证码 ...

随机推荐

  1. selenium常用的断言

    断言: 验证应用程序的状态是否同期望的一致,常见的断言包括验证页面内容,如标题是否与预期一致,当前的位置是否正确等等 断言常被用的4种模式+5种手段:Assert 断言失败的时候,该测试终止 veri ...

  2. Xcrysden-2

    XCrySDen -- (X-Window) CRYstalline Structures and DENsities Introduction to use. XCrySDen is a cryst ...

  3. 第八章 高级搜索树 (xa2)红黑树:结构

  4. Sql求和异常——对象不能从 DBNull 转换为其他类型

    做项目遇到一个以前没遇到的问题,就是要计算一个用户消费总额, 关键代码如下: string sql = "select sum(Tmoney) from [order] where uid= ...

  5. 给出一个十六进制的数0xFF 0x80 (只有2“位”) 将其转换成有符号的一字节的十进制整数

    #include <stdio.h>#include<iostream>#include <stdlib.h>#include<string.h>usi ...

  6. BroadcastReceiver接收电量变化的广播-------在代码中动态创建接受者

    本例为动态创建广播接收者即不是在AndroidManifest.xml文件中定义的广播接收着 代码: package com.qf.broadcastreceiver01; import androi ...

  7. docker实战

    docker基础入门 docker网络

  8. 如何配置Notepad++的C_C++语言开发环境

    相信很多人用notepad++,但把其配置成为C/C++还是需要小折腾一下的.本人在网上找了很长时间,也没有一个统一的答案,而且很多人说的方法根本不管用,而且也不够通用,所以还是自己摸索了一下,分享给 ...

  9. Python和JavaScript间代码转换4个工具-乾颐堂

    Python 还是 JavaScript?虽然不少朋友还在争论二者目前谁更强势.谁又拥有着更为光明的发展前景,但毫无疑问,二者的竞争在 Web 前端领域已经拥有明确的答案.立足于浏览器平台,如果放弃 ...

  10. CreateMutex用法

    1.  CreateMutex只是创建了一把锁,  这把锁你用来锁门还是锁抽屉还是锁你对象的内裤都由你自己决定. 2. lpName是指定这把锁的名字.  你要不给这把锁取个名字都可以.  只是有了相 ...