整理QTP知识之1
以下说明由网络其他文章整合而成。
一.关于QTP的说明
QTP是目前市场上占有率最高的一款自动化测试工具,也是每一位测试工作者最想掌握的工具之一,也是目前流行的基于GUI的功能自动化测试工具之一。
QTP目前最主要的应用是用于回归测试、版本验证测试阶段。它本身是针对系统界面上的元素进行识别、操作,达到测试系统功能的目的。因此,自动化测试启动的时机或者说QTP开始介入的时机就要受到系统开发进度的制约。只有当系统的界面元素不会频繁的变化、系统功能基本稳定,已经通过一至两轮的手工测试,确定系统不会存在重大缺陷时,才可以考虑自动化的实施。这里说的实施主要侧重脚本的开发,其他如测试方案、开发规范、参数定义等内容可以提前制定。有的个别大公司可能介入会比较早,界面出来,就开始着手脚本的开发。但这种方式要有严格的开发、测试规范与之配套,并且每一环节的人员严格按规范、规则进行,否则脚本后期的维护将是非常头疼的一件事情。
二.QTP的运行原理、对象识别机制
作为一个QTP的使用者,首先要搞明白它的运行原理,识别对象的机制。这是以后掌握其他技术的根本,不管是录制方式还是手写代码这个都是非常重要的。
QTP是一款基于语言的工具,而LoadRunner是基于协议的。具体说,就是QTP针对不同的语言提供不同插件去识别对象,默认提供ActiveX、Visual Basic、Web插件,其他.net、java插件单独安装。每一种插件提供了针对不同对象的识别机制,也就是提供了对象默认的识别属性。所以在运行QTP前,首先确定加载哪个addin,否则对象就不能正确识别,出现很多奇怪的问题。不加载正确的addin,最直接就是表现在代码上。以下是点击google主页上的搜索按钮的区别:
加载web插件的正确代码:Browser("Google").Page("Google").WebButton("Google 搜索").Click
不加载web插件:Window("Windows Internet Explorer").WinObject("Internet Explorer_Server").Click 547,217
这是典型的对象没有正确识别的问题。包括对象类型、识别属性、事件方法都会出现问题,这样会导致脚本的开发,维护,运行,阅读等等一系列问题。
再说QTP的对象识别,加载正确addin后QTP会定义一套针对具体类型对象的默认识别属性。通过Tools--Object Identification可以查看,修改,增加默认的识别属性。更改后即时生效,但对之前的对象不起作用。如下图,这里就是决定QTP如何识别对象的地方。包括识别对象的强制属性、辅助属性、智能识别、顺序表示符的配置。特别指出,Browser对象有一个CreationTime顺序表示符,这是一个非常有用的属性,它可以根据IE打开的顺序去识别web页,而不必指定其他属性,合理加以利用会给web脚本带来很大好处。
三.Automation->Record and Run Settings
Web:比较常用的设置:可以指定打开浏览器的类型。
Windows Application:指定录制应用程序
(1)Applications opened by Quick Test: 开启录制之后打开的应用程序。
(2)Applications opened via the Desktop: 录制通过桌面,开始菜单,快速启动,windows资源管理器打开的应用程序(包括开启录制之前和之后打开的
四.Tools-> Options
(1)General
General选项里面要注意的设置有三点:
1.Disable recognition of virtual objects while recording:录制时禁用虚拟对象识别。QTP在创建好虚拟对象后,如果选择了此项,则在录制到要用虚拟对象的时候,录制结束后,代码中会直接把要用虚拟对象的地方省略
2.Automatically update test and component steps when you rename test objects:当重命名测试库中对象后自动更新测试和组件步骤
3.Generate scrīpt:导出此对话框(包括其他选项页)的设置为scrīpt,保存为共用函数(通过Test setting的resources选项页调用)
(2)Folders 通过此页可以设置当前测试脚本路径。
(3)Active Screen 相当于快速预览窗口
对测试结果分析很有帮助的一个设置,注意此项设置记录的信息越多就越容易编辑录制之后的测试。但是,保存更多的信息将会增加录制时间和磁盘空间
此选项页中的设置
1.自定义捕获级别 默认为局部捕获,也可以根据自己的测试改变设置,如想提高录制运行速度且需要观察Active screen,则可以设置为None.
2.高级设置 可以设置在AS屏是否运行脚本,且加载什么控件。
Load ActiveX controls 加载之解决“当前安全设置禁止运行该页中的ActiveX控件。因此,该页可能无法正常打开” 问题
Load images 加载之后解决图片显示问题
Load Java applets 加载之后解决java applets 问题
(4)Run 必须要安装Microsoft scrīpt Debugger才能使用
设置以下常用选项:
1. 运行模式(Normal和fast) Normal可以设置运行步骤间隔时间且会有当前运行步骤提示。
Fast不能设置步骤运行时间间隔也没有步骤运行提示
「注」当从QC运行测试时,即使选择了Normal,也会自动设为Fast模式
2. 涉及和QC的链接
3. 设置运行测试是否自动显示测试结果
4. 设置测试结果中保留运行时的截图和录像(所有步骤/错误/警告)
(5)Windows Applications 很少用的设置
(6)Web 加载web控件时可用。
1. 设置不录制的地址
2. 设置忽略QC的连接
3. Add[ ] seconds to page load time: 增加页面加载时间
4. 坏链接测试(指向本地主机),要想设置指向所有主机链接的测试,通过本页高级现象设置自动添加链接检查检查点测试。
5. Page and Fame option 此项尽量保持默认设置(有些外部插件会自动修改设置为最优,如果使用了外部插件,建议保持默认设置,不要使用reset按钮 )
6. 高级设置
添加Accessibility检查点 在这里设置之后,才可以在脚本里编辑添加Accessibility检查点
添加自动检查点 设置此项之后,在录制时自动在测试的每个页面添加已设置的检查点。
整理QTP知识之1的更多相关文章
- QTP知识总结(一)
QTP知识总结(一) (2010-12-22 16:30:41) 转载▼ 标签: 杂谈 分类: QTP File menu Process guidance management,View > ...
- 将垃圾送入无底洞,顺便整理dev知识
相信用过Linux的童鞋们都用过crontab来做定时任务,不需要额外的安装程序和配置,一条简单的语句搞定定时任务,但是小伙伴们发现了没,如果你的定时任务执行频率很高而且会产生大量的输出的话,你的老爷 ...
- maven学习整理-进阶知识
在maven的阶知识主要学习的是maven在eclipse中的使用.依赖相关的问题.继承(父子工程).统一版本管理.聚合等相关知识 1.maven在eclipse中的使用 由上篇基础知识学习到怎样下载 ...
- maven学习整理-基础知识
1.maven认识 maven是一种自动化的构建工具,它主要解决的问题有: ①项目中的划分规则:原先我们用package或文件夹的形式来划分不同模块,导致在一个项目中存在大量的文件夹和包代码显得庞大: ...
- ES6知识整理(1)--let和const命令
最近准备在业余空闲时间里一边学习ES6,一边整理相关知识.只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是正在的学到了... 那么现在开始 LINK START!(首先是第一讲,前 ...
- ES6知识整理(2)--变量的解构赋值
最近准备在业余空闲时间里一边学习ES6,一边整理相关知识.只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是真正的学到了... 上一篇是一个试水,现在接上. 变量提升 看了下朋友回复 ...
- 使用"关键词"来整理自己的知识库
以前一直使用MyBase作为整理知识的工具,但是用到后来发现,当整理的知识越来越多时,树形目录的节点个数就会变得越来越庞大,层次越来越深,反而很难定位要查看或编辑的知识.最近发现使用"关键字 ...
- python 入门快速学习整理
Python 入门学习 1 : 对象类型 1 1.1 列表 1 1.2 字典 2 1.3 元组 2 1.4 元组 2 1.4 文件 3 2 : 条件和循环语句 3 2.1 if else语句 3 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
随机推荐
- Android颜色转换工具类ColorUtil
项目中需要根据ScrollView的滚动距离来动态设置Topbar的背景透明度,网上有类似的开源库FadingActionBar,使用的是ActionBar做的.而我的项目中并没有使用ActionBa ...
- 打印org.eclipse.xsd.XSDSchema对象
由于网上关于Eclipse XSD的中文资料比較少,可是有的时候.我们须要使用Eclipse XSD的API去构造或者改动一个XSD文件. 那么当我们创建了org.eclipse.xsd.XSDSch ...
- 深入探讨MFC消息循环和消息泵
首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情.在MFC ...
- 浅析innodb_support_xa与innodb_flush_log_at_trx_commit
很久以前对innodb_support_xa存在一点误解,当初一直认为innodb_support_xa只控制外部xa事务,内部的xa事务是mysql内部进行控制,无法人为干预(这里说的内部xa事务主 ...
- tsunami:一种基于UDP协议的高速传输
一. 需求 近期在做数据库迁移.常常须要打包实例传输.传统scp感觉非常慢. 二. 软件信息 1. 软件主页:http://tsunami-udp.sf.net/ 2. 软件安装:直接源代码make ...
- CentOS6.4 编译安装Python 3.3.2 - CRPER木木
基础环境: CentOS6.4(预装GCC,或者联网YUM---GCC编译写进这里太臃肿,找机会另外写一篇) Python 3.3.2 下载链接: http://www.python.org/ ...
- hadoop(六) - ZooKeeper安装与配置
一. ZooKeeper配置 1.使用winscp上传zk安装包 zookeeper-3.4.5.tar.gz 2.解压安装包tar -zxvf zookeeper-3.4.5.tar.gz -C / ...
- 与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast)
原文:与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast) [索引页][源码下载] 与众不同 wind ...
- uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)
最小生成树算法简单 只是增加了一些新的东西,对于需要最小生成树算法 和中 并检查使用的一系列 还有一些更深入的了解. 方法的一些复杂问题 #include<cstdio> #include ...
- android JNI处理图片的例子
android JNI处理图片的例子 原地址:http://blog.csdn.net/xjwangliang/article/details/7065670 <pre class=" ...