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

简介:

 


刚刚接触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所示。

clip_image002

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

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

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

clip_image004

对象库

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

clip_image006

















本文转自hblxp32151CTO博客,原文链接:http://blog.51cto.com/starpoint/1257895,如需转载请自行联系原作者

相关文章
|
1月前
解释一下ConditionVariable的工作原理。
解释一下ConditionVariable的工作原理。
28 6
|
10月前
|
Perl
简单实例应用(1)
简单实例应用(1)
|
10月前
|
存储 机器学习/深度学习 网络协议
逐行解释webserver源码(window版)
逐行解释webserver源码(window版)
|
存储 安全 程序员
Libra教程之:move语言的特点和例子
Libra教程之:move语言的特点和例子
Libra教程之:move语言的特点和例子
|
C# 图形学
Unity C# 《有限状态机》的用法教程详解
Unity C# 《有限状态机》的用法教程详解 有限状态机用法教程 本文提供全流程,中文翻译。 助力快速理解 FSM 有限状态机,完成游戏状态的切换 为新手节省宝贵的时间,避免采坑! 有限状态机简称: FSM —— 简称状态机 是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模.
6193 0
|
Web App开发 JavaScript 前端开发
通过一个简单的例子,了解 Cypress 的运行原理
Cypress 是 SAP Spartacus 前端 e2e 测试使用的框架。 Cypress 并不是广义上的 web 自动化工具,并不适合编写脚本来测试已经处于生产状态下的不受测试者控制的网站。 Cypress is not a general purpose web automation tool. It is poorly suited for scripting live, production websites not under your control.
200 0
通过一个简单的例子,了解 Cypress 的运行原理