关于Object - Description mismatch

上一篇 / 下一篇  2013-06-24 10:22:25 / 个人分类:QTP

关于

The object was not found using the test object description. Check the object's properties.

 

The smart identification mechanism was invoked.

Reason: object not found.

Original description:
value=
type=text
name=j_issueid
micclass=WebEdit
html tag=INPUT

Smart Identification Alternative Description:

Base filter properties (25 objects found) 
type=text
micclass=WebEdit
html tag=INPUT

Optional filter properties
name=j_issueid(Used, 1 matches)
html id=j_issueid(Ignored)
max length=200(Ignored)
default value=3689551672442269799(Ignored)
class=Text(Ignored)
rows=0(Ignored)
visible=1(Ignored)

 

QTP的智能识别(Smart Identification)过程

 QTP在碰到对象识别问题的时候,会尝试应用智能识别(Smart Identification),如果智能识别能定位出对象则继续脚本的执行,否则提示错误。

  假设录制了下面的脚本:

  Browser("MercuryTours").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对象并且点击它。

 



TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-29  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 1281
  • 日志数: 1
  • 建立时间: 2010-06-09
  • 更新时间: 2013-06-24

RSS订阅

Open Toolbar