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. 大型运输行业实战_day02_2_数据模型建立

    1.模型分析 1.基本必备字段 id   state  type   createTime   updateTime 2.车票  :   车次   开始车站   到达车站   出发时间    票价   ...

  2. angularjs动态添加节点时,绑定到$scope中

    <html> <head> <meta charset="utf-8"/> <script src="https://cdn.b ...

  3. oracle中的分支与循环语句

    分支语句 if的三种写法一, if 2 < 1 then dbms_output.put_line('条件成立'); end if; 二, if 2 < 1 then dbms_outpu ...

  4. VMware克隆CentOS网络配置

    配置网络 如果是克隆CentOS的: vi /etc/udev/rules.d/70-persistent-net.rules 注释掉网络eth0,把最后一个改为eth0,记录下mac地址. vi / ...

  5. Oracle 数据库的绑定变量特性及应用

    Oracle 数据库的绑定变量特性及应用[-----]转载自https://www.cnblogs.com/rootq/(原地址) 关键词: 绑定变量(binding variable),共享池(sh ...

  6. 全排列12 · Permutations

    无重复 [抄题]: Given a collection of numbers, return all possible permutations. For example,[1,2,3] have ...

  7. Android可以子线程更新UI?

    初了解Android的时候,就知道Android是不能在子线程更新UI的,不然程序会直接抛出异常,告诉你,别给我在自线程搞事情! 但是,这个是针对普通的view做的限制,而TextureView,Su ...

  8. dump()

    输出格式化的对象

  9. laravel数据库操作

    一.配置文件路径:/.env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT= DB_DATABASE=test DB_USERNAME=root DB_P ...

  10. Laravel5.5 使用队列 Queue

    使用队列# 上一章节中我们开发了自动生成 Slug 功能,但是因为我们的需要实时请求百度翻译接口,这将会是一个系统性能隐患. 一般情况下,网络请求会存在各种不确定性,如果请求 API 出现超时情况,或 ...