热门IT资讯网

由生活的例子来剖析QuickTest的工作原理

发表于:2024-11-22 作者:热门IT资讯网编辑
编辑最后更新 2024年11月22日,刚刚接触QTP的同学,对QTP如何工作,往往不甚了解,而在工作学习中只有真正里了解了QTP的工作原理方可进一步的学习QTP与使用QTP。本讲通过举例来揭示QTP的工作原理,希望能帮助读者进一步了解QT

刚刚接触QTP的同学,对QTP如何工作,往往不甚了解,而在工作学习中只有真正里了解了QTP的工作原理方可进一步的学习QTP与使用QTP。本讲通过举例来揭示QTP的工作原理,希望能帮助读者进一步了解QTP

1.1 QuickTest如何学习对象与识别对象

QTP10.0如何学习对象呢?通过一个例子来说明。

例如,Orlando需要Lee帮其到车站接两个孩子, Lee手中有一张两个孩子最近新拍的照片,他们各有特征。其中一个是8岁的小孩,卷发、蓝色眼睛;一个是女孩,扎着马尾辫并带黑色框眼镜,年龄大概14岁左右。Lee通过照片中的特征完全可以区分并识别两个孩子。Lee在车站看到类似的孩子,然后再根据自己所记的特征,很快就能确定是否是Orlando让其接的两个小孩。

QuickTest 采用了极为类似的方法,以便在录制过程中记住对象。

首先,其将"观察"要录制的对象,然后将其作为测试对象进行存储,确定该对象符合的测试对象类。检查项目是那一类,QuickTest 也会对测试对象进行分类,例如,标准 Windows 对话框 (Dialog)、Web 按钮 (WebButton) 或 Visual Basic 滚动条对象 (VbScrollBar)等。

对于每个测试对象类,QuickTest 都有一个始终要记住的强制属性列表,类似于 Lee在看到照片之后要记住每个孩子特征一样。当录制对象时,QuickTest 始终记住这些默认的属性值,然后对其余的同类对象进行核查,以检查该描述是否足以唯一标识该对象。如果不足以进行唯一标识该对象,QuickTest将对该对象逐项添加辅助属性,直到属性列表能够标示一对象为止。就像 Lee通过头发颜色和身高等特征组合来识别两个孩子一样。如果没有可用的辅助属性,或者那些可用的辅助属性仍不足够标示对象的唯一性,QuickTest 将添加一个特殊的顺序标识符(例如页面上或源代码中对象的位置),用来标示对象的唯一性。

QuickTest回放脚本过程中,如何识别对象呢?

QuickTest回放脚本过程中,与Lee识别两个孩子一样,根据Lee脑海中记录的每个孩子独有的特征组合迅速确定目标。QuickTest通过录制过程中记录下来的对象属性列表,查找相应的对象属性,根据属性(或多个属性组合)确定对象的唯一性,然后再对该对象进行相关操作。

1.2 测试对象的描述

对于每个对象类,QuickTest在录制时记住对象的一组属性,然后在运行测试时使用该描述属性来标识该对象并识别该对象。

以录制登录飞机订票系统的脚本为例,点击QTP10.0窗口中的"Keyword View",右击"userName",右击菜单中选择"Object Properties"如图2.30所示。

如果图属性列表中的三个属性不足以对该对象进行唯一标识,QuickTest将通过添加一些辅助属性来标示其唯一性。运行测试时,QuickTest将搜索与它记住的属性描述相匹配的对象。如找到相匹配的对象,则对该对象执行一些操作。

QuickTest Professional将对象及其记录的属性列表存放在什么位置呢?

如图所示,在QTP对象库中可看到QuickTest Professional录制的对象及属性列,点击QuickTest Professional菜单栏上的【Resources】-【Object Repository】进入对象库。

对象库

如图所示,正是对象库中记录了录制过程中所操作的对象,QuickTest回放时才能识别该对象,并对该对象赋予相关的操作。

0