QTP识别对象讲解

转载 2012年03月29日 20:43:24
QTP在碰到对象识别问题的时候,会尝试应用智能识别(Smart Identification),如果智能识别能定位出对象则继续脚本的执行,否则提示错误。
  假设录制了下面的脚本:

  Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17

  对于Login这个Image对象,QTP默认采用alt、html tag、image type属性来识别对象。

  然而,当你创建好上述脚本后,开发人员又在同一个页面添加了第二个Login对象(为VIP登录而设计的),同时修改了原来的Login对象的alt属性,改成了"basic login"。

  这样当你针对新版本的页面重新回放上述脚本时,QTP就不能基于alt + html tag + image type的属性组合来识别Login对象了,因为alt属性已经改了。但是QTP仍然能够成功地识别出Login对象来,因为这个时候它会去使用智能识别(Smart Identifation)。

  下面的过程描述了QTP应用智能识别来确认Login对象的步骤:

  1、根据WEB Image对象默认设置的智能识别定义,QTP首先从页面中找出所有html tag属性=INPUT的对象(应用在Base Filter Properties中定义的属性类型进行第一轮筛选和过滤)。

  2、把筛选出来的对象作为候选对象,再依次应用Optioanl Filter Properties中定义的属性类型进行过滤:

  2.1 、QTP会首先检查候选对象的alt属性,但是发现没有等于"Login"的,因为已经被开发人员改为"basic Logi"了。因此QTP会忽略这个属性类型,继续应用下一个属性类型。

  2.2、QTP检查每个候选对象的image type属性,把image type不等于Image Button的对象过滤出去。

  2.3、QTP检查候选对象的html id属性,发现所有对象的这个属性的值都是空的。

  2.4、QTP检查候选对象的name属性,发现有两个对象(basic login和VIP login)的name属性都等于"login",因此QTP把其它的对象过滤掉,剩下这两个对象。

  2.5、QTP再检查剩下两个对象的file name属性,发现只有一个是等于"login.gif",因此QTP就此结束智能识别过程,推断出这个对象是它要找的Login对象并且点击它。

QTP对象识别原理

一、QTP识别对象原理 QTP里的对象有两个概念,一个是Testtime Object(简称TO),一个是RunTime Object(简称RO)。 从实际作用来看,TO就是对象库中定义的对象,R...
  • chen_xi_
  • chen_xi_
  • 2012-05-18 16:33:44
  • 1325

QTP 无法识别web对象原因

1、插件选择错误    处理方式:重新启动QTP,勾选 WEB插件; 2、在安装QTP后,或者禁用IE浏览器里的一些ActiveX控件后,正常录制QTP事,对象识别不了;    ...
  • wangsy0202
  • wangsy0202
  • 2016-08-01 19:54:46
  • 1376

QTP学习笔记(一):安装篇,解决QTP无法识别控件对象的问题

寻得几篇好文,原是基于QTP10.0,所以网上下载了QTP10.0的版本,进过一系列安装及破解,花费了些时间倒也算是顺利,然后花了近一个礼拜的时间(当然并不是一直在学,也是在工作之余,每天抽出1个小时...
  • DONGJIYINXIN
  • DONGJIYINXIN
  • 2016-05-19 14:07:18
  • 2450

QTP对象识别方法一简介

QTP录制脚本时有些按钮或操作总是录制不上,检测对象识别器来识别,解决该问题的一种方法。...
  • XiaoXiao_RenHe
  • XiaoXiao_RenHe
  • 2016-09-18 10:15:36
  • 226

qtp初学可能遇到问题1:spy识别对象失败

Spy探测仪:是用于探测各类对象控件的属性以便于在脚本中使用 如果我们需要了解网页上某个webbutton的详细属性,当使用spy探测时,反馈结果却并不是正确的信息,此时为探测失败,失败原因可能为;...
  • xiaofuruo
  • xiaofuruo
  • 2014-03-19 21:05:50
  • 357

QTP11不能识别.NET对象的解决方法

在QTP中,.NET对象的Class Name都是以Swf开头的,使用QTP11测试.NET程序时经常出现无法识别对象,将窗口识别成Window而不是SwfWindow的情况,导致测试不能正常进行下去...
  • KerryRuan
  • KerryRuan
  • 2014-07-04 10:34:00
  • 883

QTP学习笔记之一:无法识别的对象和右键

对于无法识别的对象总结出来分为两步: 一)在对象库中得到该对象的相对位置(前提是该对象被添加到了对象库) 二)在步骤生成器中输入该对象的相对位置及相应的鼠标操作即可(会自动生成语句,要注意的是该对...
  • yafeng_0306
  • yafeng_0306
  • 2012-05-28 18:11:38
  • 3364

QTP识别对象的3中类型属性

QTP识别对象的3中类型属性 1. 强制属性(强制属性总是被捕捉并保存,即使没有其中的一些属性,对象也能识别也不例外) 2. 辅助属性(假如强制属性不足以唯一识别某对象,那么可以依次添加辅助属...
  • erix1991
  • erix1991
  • 2014-01-28 09:44:10
  • 799

QTP11问题1:Object Spy探测到的web对象全是WinObject

测试环境:Win7 32位+QTP11+IE11 QTP问题1:Object Spy探测到的web对象全是WinObject 这个问题折腾了2个晚上,在绝望之际终于得以解决。方法如下: 解决办法1:...
  • strongTest
  • strongTest
  • 2016-03-03 18:03:53
  • 1391

自动化测试工具QTP:维护对象库、获取对象属性、智能识别、参数化若干问题

最近有一个项目,需要批量生产测试数据。原本打算使用LR来自动生成,但是里面涉及到动态数据的获取,而开发不能及时过来说明该取哪些数据,于是放弃使用LR,而改用QTP进行UI操作的重放来生成数据。 在使用...
  • ajupiter
  • ajupiter
  • 2013-10-14 17:02:22
  • 2173
收藏助手
不良信息举报
您举报文章:QTP识别对象讲解
举报原因:
原因补充:

(最多只允许输入30个字)