qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

QTP自动化测试权威指南 连载(三)

  对象识别(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自动化测试权威指南 连载(二)


posted on 2013-06-18 10:54 顺其自然EVO 阅读(442) 评论(0)  编辑  收藏 所属分类: qtp


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年6月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜