刚刚接触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回放时才能识别该对象,并对该对象赋予相关的操作。