### QTP解决用户无法识别问题方案处理 #### 一、对象描述识别问题处理 ##### 1.1 如何去识别对象描述(Identifying Test Object Description Problems) 在使用QTP(Quick Test Professional)进行自动化测试的过程中,经常会遇到一个常见的问题:“Cannot Identify Object”。这通常意味着在对象库中存储的对象描述与实际应用程序中的对象描述之间存在差异。 **解决步骤:** - **第一步:查找差异** 要解决这个问题,首先要找到对象描述之间的差异。可以通过对比对象库中的对象属性与实际应用程序中对象的属性来实现这一目的。 - **第二步:比较属性值** 在QTP中,可以利用`ObjectRepository`窗口查看对象库中对象的属性值,而通过`ObjectSpy`功能则可以查看应用程序中对象的属性值。 - **第三步:确定差异** 完成上述比较后,如果发现了差异,可以根据这些差异采取相应的措施;如果没有发现明显的差异,则需进一步排查其他潜在原因。 - **第四步:采取行动** - 如果发现差异:参阅下文的1.4节。 - 如果未发现差异:参阅下文的1.5节。 ##### 1.2 处理对象丢失问题(Solving Missing Object Problems) 当在运行脚本时,QTP试图对某个对象执行操作却找不到该对象时,会出现对象丢失的问题。这种问题通常由以下几个原因引起: - 对象已从程序中删除。 - 对象尚未加载。 - 当前页面或窗口不是对象所在的页面或窗口。 - 前一个步骤没有正确执行。 针对不同的原因,有不同的解决方法: - **1.2.1 解决对象不再存在的问题** 如果对象已从被测程序中删除,则需要在脚本中相应地修改或删除相关的步骤。 - **1.2.2 解决对象装载超时的问题** 如果是因为对象装载时间过长导致丢失,可以通过以下方法解决: - 对于Web对象,可以在“文件”>“设置”>“Web”标签页中增加`BrowserNavigationTimeout`的时间。 - 在涉及该对象的步骤前添加`Wait`语句,使QTP在执行下一步前等待一段时间。 - **1.2.3 检查前面步骤的执行情况** 如果是因为打开了错误的页面或窗口导致对象丢失,或者是因为前一个步骤执行失败,可以按照以下方法检查原因: - 检查对象的继承关系以及对象描述,参考1.1节。 - 检查脚本的每一个步骤,确保没有遗漏步骤,使用了正确的操作方法和参数。 #### 二、测试对象与运行时对象属性值比较 ##### 1.3 测试对象的属性值与运行时对象的属性值比较 为了更准确地诊断问题所在,可以通过以下步骤比较测试对象与运行时对象的属性值: 1. 打开`ObjectRepository`窗口(`资源`>`对象库`),选择要检查的对象。 2. 记录对象的类以及其各个属性和属性值。 3. 打开被测程序,并导航至包含被测对象的页面或窗口。 4. 在QTP中选择`工具`>`ObjectSpy`,或点击`ObjectSpy`按钮,打开`ObjectSpy`对话框。 5. 选择“测试对象属性”选项。 6. 点击右上角的手形图标,此时QTP窗口和`ObjectSpy`对话框都会被最小化。 7. 在程序页面或窗口中点击目标对象,然后恢复`ObjectSpy`对话框。对话框中会显示对象及其父对象(以树状形式展示),并在`属性`标签页中显示当前对象的属性和属性值。 8. 查看对象的类、属性及其属性值,并将其与步骤2中记录的内容进行比较。 #### 三、解决对象描述存在的问题 ##### 1.4 解决对象描述存在的问题 如果在比较过程中发现对象库中的对象属性值与应用程序中对象的属性值存在差异,则需要进一步判断这个问题是仅限于个别对象,还是多个同类对象都存在同样的问题。 - **所有或多个同类对象都存在问题** 参考下文的1.6节。 - **仅个别对象存在问题** 参考下文的1.7节。 #### 四、关于父对象描述的识别问题 ##### 1.5 关于父对象描述的识别问题 有时候即使在应用程序中可以看到对象,且程序中对象的属性值与对象库中对象的属性值一致,仍然会出现“Cannot Identify Object”的错误。这可能是由于对象的父对象存在问题,比如父对象的属性值与实际应用中的父对象属性值不符,或者是对象与程序中对象的继承关系不匹配造成的。 要判断具体是继承关系中的哪一个父对象出现问题,可以采用以下方法之一: - **重新录制对象并比较新旧对象的父对象** 具体操作方法可参考1.8节。 - **为每个父对象插入一个Exist语句并运行脚本** 如何创建Exist语句的具体步骤可参考1.9节。 通过以上详细步骤和指南,可以有效地解决在使用QTP过程中遇到的各种对象识别问题,从而提高自动化测试的效率和准确性。
剩余14页未读,继续阅读
- 粉丝: 0
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助