由生活的例子来剖析QuickTest的工作原理-阿里云开发者社区

开发者社区> 技术小美> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2013年度最佳 jQuery 插件集合(1) - 前端编程 - IT工作生活这点事。Just Su
来源:***/UIweb/2013-best-jquery-plus-list.html#6637157-hi-1-79031-e72cbf6239c4a1dd3c910ce74dd5ffa8
558 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
2726 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4350 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9397 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
370 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
3824 0
+关注
4435
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载