对象识别(Object Identification)
对象识别是实现测试脚本的关键部分。QTP不能随意的录制对象,它在记录对象的一组属性时是遵循一定结构的。我们可以更改这些属性,以适应应用程序。更改设置可以在 Tools->Object Identification…
有三种类型的属性可以被QTP用来识别对象:
● 强制属性 - 强制属性总是被捕捉并保存,即使没有其中的一些属性,对象也能识别也不例外。
● 辅助属性 - 假如强制属性不足以唯一识别某对象,那么可以依次添加辅助属性,直到对象可以唯一识别。
● 顺序标识符 - 一旦在使用了强制属性和辅助属性后,对象仍然不能唯一识别,那么可以使用序数识别。有三种类型的序数识别:
图3-8 对象识别设置
图3-8 显示了WebCheckBox的强制属性和辅助属性。
小提示:这些设置是常规的全局设置,并不基于任何脚本。我们可以根据需要添加和删除。
用户定义的对象
QTP使用窗体的类名来识别对象的类型。假如我们的应用程序没有使用标准的窗体类,那么QTP就可能无法正确识别对象。Windows的搜索对话框有一些CheckBox放在了自定义的控件内,当我们试图添加他们到QTP对象库中时,它们只能被识别为WinObject,如图3-9所示。这是由于Qtp不能把这些CheckBox识别成一般的测试对象。
图3-9 搜索窗口中的CheckBox识别成了WinObject
因此我们需要在QTP设置中,把这个CheckBox映射成WinCheckBox.打开Tools->Object Identification ,然后选择标准Windows环境,点击User Defined按钮,就会弹出映射对话框。点击手型按钮,然后点击CheckBox后,类名就被添加,并且我们可以映射到CheckBox,如图3-10所示。点击Add按钮添加这个映射。
3-10用户自定义对象映射
映射后,QTP便可识别这个对象为WinCheckBox,如图3-11所示。
图3-11 用户自定义对象识别为Checkbox
对象库的不足
作者认为QTP 8.x的对象库有一些不足:
● 对象库管理器不允许批量更新对象属性到脚本。
● 其他对象下面的对象不能被删除或复制。
● 当一个框体(frame)被加入到了被测的应用程序中时,那么整个测试脚本都要重新录制。
● 当重新录制一个页面或者窗体时,完全一样的对象经常会重复添加,因此,会创建很多相同的页面或窗体:Page_1, Page_2诸如此类。有时候这个问题可以通过更改Web设置来解决,
打开Tools->Options…Web(Tab)->Page/Frame Options…然后更改设置如图3-12所示
图3-12页面和框体选项
小提示:以上所述的大多数的不足在 QTP9.x中已经得到解决。
(未完待续)
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。
相关链接:
QTP自动化测试权威指南 连载(一)
QTP自动化测试权威指南 连载(二)