由生活的例子来剖析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,如需转载请自行联系原作者

相关文章
|
存储 安全 关系型数据库
mysql-8.0.27-linux版本安装手册,让你一路畅通无阻,2分钟就完成安装
mysql-8.0.27-linux版本安装手册,让你一路畅通无阻,2分钟就完成安装
mysql-8.0.27-linux版本安装手册,让你一路畅通无阻,2分钟就完成安装
|
前端开发 数据安全/隐私保护
利用 HBuilderX 设置CSS样式会员注册页面
利用 HBuilderX 设置CSS样式会员注册页面
289 1
|
Java Maven 开发者
java一分钟之-Maven Archetypes:项目模板
【6月更文挑战第6天】Maven Archetypes是Java开发中用于快速创建项目模板的工具,简化项目初始化。它们定义了项目结构、必备文件和默认配置。使用Archetypes能实现快速启动、保持项目一致性并易于扩展。常见问题包括查找和使用Archetype、理解项目结构及pom.xml配置。通过命令行工具`mvn archetype:generate`可生成项目,例如使用`maven-archetype-quickstart`创建简单Java应用。熟悉Archetypes能提升开发效率,但也需根据实际需求调整生成的配置。
1350 5
|
Linux
PXE+Kickstart实现rocky9批量自动装机
使用PXE+Kickstart实现rocky9批量自动装机
2358 0
|
机器学习/深度学习 算法 数据挖掘
使用图进行特征提取:最有用的图特征机器学习模型介绍
使用图进行特征提取:最有用的图特征机器学习模型介绍
688 0
使用图进行特征提取:最有用的图特征机器学习模型介绍
|
机器学习/深度学习 传感器 算法
【LSTM时序预测】基于灰狼算法优化长短时记忆网络GWO-LSTM实现风电功率预测附Matlab代码
【LSTM时序预测】基于灰狼算法优化长短时记忆网络GWO-LSTM实现风电功率预测附Matlab代码
|
Linux 编译器
Linux下make -j加快编译速度
Linux下make -j加快编译速度
223 0
|
4天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1106 0
|
3天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
529 10

热门文章

最新文章