转载:QTP录制过程中遇到的问题三

上一篇 / 下一篇  2011-07-12 14:56:43

问题一:Cannot Identify Object
QTP运行时报错说无法识别对象,如果你的对象在对象库里面本身存在但还报出这个错误,这就表示仓库中对象的描述与程序中对象的描述一定存在着差异。 解决对象描述问题的第一步是找到差异,最简单的方法是将仓库(Object Repository)中对象的属性值与程序中对象的属性值(用Object Spy查看)进行比较。比较的结果:
一.如果仓库和程序中对象属性有差别,则分两种情况
1. 如果同类对象都存在此问题,则可在Object Identification对话框中改变该类的识别属性的设置,或定义该类的Smart Identification设置并启用Smart Identification机制,这样QTP就可以唯一识别对象了。
2.  如果是单个对象存在此问题,则可以按照以下方法解决
a.如果被测程序中对象描述发生了改变,并且你也清楚改变的内容,并且该改变是永久性或长期性的,你可以直接手工修改仓库中对象描述中的相关属性值。
b.如果被测程序中的对象的属性值依赖于前面的步骤或其它对象,则将该属性值参数化,这样就可以使用其它步骤的输出值为属性值。
c.如果属性值的组成部分中,部分是固定的,部分是动态改变的,则可以将属性值设计为正则表达式。
d.如果属性值是遵循某种规则变化的,或者是不可预期的,则从对象描述中移除该属性,并向对象描述中添加一个或多个属性以便于QTP进行对象识别。
  e.将仓库中相应的对象删除,采用描述性编程的方式来识别对象;(实践证明此方法最好用)

TAG:

 

评分:0

我来说两句

Open Toolbar