QTP基础教程学习
10QTP初级教程
参数检化查-定点义-标数准据检表查参点数
参数检化查-设点置-标参准数检化查属点性
• 选择“Parameter”单选按钮。使用该按钮,可以用参数替换常量值 。 • 确认是否已选定“DataTable”选项。这意味着将从 QuickTest 数据表中
获取该参数的值。 • “Name”框已启用,并显示“p_KeyboardInput”。将其更改为 定票日
• 定票
QQTTPP的的录录制制测测试试-启-录动制
• 查询
QQTTPP的的录录制制测测试试-启-录动制
• 删除
QQTTPP的的录录制制测测试试-启-录动制
• 完成
QTPQ的TP录的制录测制试测-录试制-启完动成
• 完成
QTPQ的TP录的制录测制试测-录试制-启完动成
QTP的Q录TP制的测录试制-关测键试字-启视动图
• 标准检查点
检检查查点点--标标准准检检查查点点
• 标准检查点
检检查查点点--标标准准检检查查点点
• 标准检查点
检检查查点点--标标准准检检查查点点
• 标准检查点
检检查查点点--标标准准检检查查点点
• 图像检查点
检检查查点点--标图准像检检查查点点
• 图像检查点
检检查查点点--标图准像检检查查点点
• 确认是否已启用“Active Screen”选项。如果在 QuickTest 窗口的底部 看不到 Active Screen,请单击“Active Screen”按钮 或选择“查 看”>“Active Screen”。
第七章QTP常见的实用技术技巧
录制模式
1. 正常录制:基于对象识别来录制 2.模拟录制:完全模拟鼠标运动的轨迹 3. 低级别录制:把所有的对象转换为根对象winobject,
然后只记录winobject的坐标位置 练习: 录制发传真的签名动作
随机数
练习: 录制飞机订票的订票动作,要求每次随机选择一个航班
退出的常用操作
1、ExitAction() 退出当前操作,无论其本地(操作)循环属性是什么 2、ExitActionIteration() 退出操作的当前循环。 3、ExitComponent()退出当前组件并继续业务流程测试中的下一个组 件,无论组件的循环设置是什么。 4、ExitComponentIteration() 退出当前组件循环并继续该组件的下一次 循环,或者,如果当前组件没有其他循环,则继续业务流程测试中的 下一个组件。 5、ExitGlobalIteration() 退出当前的全局循环,并使用全局数据表的下 一行开始下一次循环。 6、ExitRun() 退出测试,无论其全局循环属性是什么。 7、ExitTest() 退出整个业务流程测试,无论运行时循环设置是什么。 8、ExitTestIteration() 退环并继续下一次循环,或者如果没有其他运行 时参数循环,则退出测试出业务流程测试的当前循运行。
13
常用操作
删除操作
◦ 当删除对不可重用操作的调用时,将同时删除整个操作 本身以及操作的数据表。
◦ 当删除对可重用操作或外部分操作的调用时,将从测试 流程中删除该操作,但该操作仍与在其中创建该操作的 测试一起存储,并且仍将显示在操作列表中。
◦ 当 会从数据表中删除相应的操作表,但不会删除位于全局 表中与该操作相关的列。
QTP基础教程学习
QTP基础教程学习QTP(QuickTest Professional)是一款功能强大的自动化测试工具,用于测试桌面、客户端和Web应用程序。
本教程将详细介绍QTP的基础知识和其主要功能。
接下来就让我们开始学习吧!第一部分:QTP基础知识1.QTP简介:介绍QTP的概念、特点和功能。
2.QTP安装与配置:详细介绍QTP的安装步骤和配置方法。
3.QTP界面与工具栏:介绍QTP的界面和各个工具栏的功能。
4.QTP操作对象:说明QTP如何识别和操作不同类型的对象。
第二部分:QTP脚本编写与调试1.QTP脚本基础:介绍QTP脚本的基本语法和规则。
2.对象识别与对象库:详细介绍对象识别的原理和方法,并介绍对象库的使用。
3.数据驱动与关键字驱动:介绍如何使用数据驱动和关键字驱动的方法来提高脚本的复用性和可维护性。
4.脚本调试与错误处理:讲解如何调试脚本并处理可能出现的错误。
第三部分:QTP测试流程与框架1.测试计划与测试用例:介绍测试计划的编写和测试用例的设计。
2.重用测试对象和脚本:讲解如何重用已有的测试对象和脚本。
3.参数化与数据驱动:详细介绍如何使用参数化和数据驱动的方法进行测试。
4.错误处理与结果分析:讲解如何处理测试过程中可能出现的错误,并分析测试结果。
第四部分:QTP高级功能与扩展1.自定义操作和函数库:介绍如何自定义操作和函数库以满足特定的测试需求。
2.自动化测试报告与生成:详细讲解如何生成自动化测试报告。
3.QTP与版本控制工具的集成:介绍如何将QTP与版本控制工具集成来管理测试脚本的版本。
4.高级脚本编写技巧:讲解一些高级的脚本编写技巧和最佳实践。
5.QTP与其他测试工具的集成:介绍如何将QTP与其他测试工具进行集成,提高测试效率。
在学习QTP的过程中,你还可以通过一些案例实践来巩固所学的知识。
例如,在一个网页登陆的测试中,你可以使用QTP记录下登陆操作的脚本,并进行调试和错误处理。
然后根据需要,你可以对脚本进行参数化和数据驱动,以覆盖不同的测试场景。
QTP对象方法整理学习
QTP学习掌握QTP对象的基本方法Exist语法:object.Exsit([TimeOut])用途:用于检查某个特定对象在目前的应用中是否存在。
参数:object,表示某特定的对象,比如浏览器对象Browser,对话框对象dialog等。
TimeOut,为可选参数,单位为毫秒。
如果设定为大于0的值,那么QTP判断一个对象是否存在的过程就以这个时间值作为时间限制。
如果没指定,timeout 的值将被默认为“测试设置”对话框中“对象同步超时”的值,该值被预先设定为20。
返回值:只读,布尔型“True”或“False”。
用法:查看一个名称为Mercury T ours的浏览器窗口是否存在If Browser("Mercury Tours").ExistThen MsgBox "The browser exists."End IfObject语法:object.Object用途:用于访问浏览器对象的内部方法和属性。
参数:object,任何被测的web对象。
返回值:只读,对象类型。
用法:激活Edit Box's 本身焦点方法Sub Object_Example()Set MyWebEdit = Browser("Mercury Tours").Page("Mercury Tours"). WebEdit("username").ObjectMyWebEdit.focusEnd Sub注释:由于focus是WebEdit对象的内部方法,而不是QTP对象的方法,所以要通过Object属性来访问。
CaptureBitmap语法:object.CaptureBitmap FullFileName, [OverrideExisting]用途:用于将屏幕捕捉到的对象存为.bmp或者.png类型的图像文件。
参数:object,表示某特定的对象。
QTP入门
1. 登录实例
1) 如何录制 打开QTP选择相应的插件,新手可以选择默认的选项,这样录 制web或者应用程序都可以。 录制的界面设置如下:录制web系统是选择web标签输入url 录制windows应用程序时,选择 Windows Application标签进行设置
4) 设置检查点 Window("Flight Reservation").Activate Window("Flight Reservation").ActiveX("MaskEdBox").Type "123112" Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver" Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt" Window("Flight Reservation").WinButton("FLIGHT").Click Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "14205 DEN 12:57 PM FRA 01:41 PM AF $121.20" Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click Window("Flight Reservation").Activate Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1 Window("Flight Reservation").WinEdit("Tickets:").Set "2" Window("Flight Reservation").WinEdit("Name:").Set "wyy" Window("Flight Reservation").WinRadioButton("First").Set Window("Flight Reservation").WinButton("Insert Order").Click Window("Flight Reservation").Activate
QTP(自动化功能测试工具)知识积累重点讲义资料
QuickTestProfessional文档状态:草稿版当前版本:V1.3编写:刘毅编写日期:2006-10-01 审核:审核日期:批准:批准日期:文档修订记录摘要「软件测试自动化」已经被许多的软件测试专家验证是可行的,并且反复的运用在许多软件开发过程中。
大多数参与软件测试的专家也同意自动化测试不只是值得的同时也是必要的。
在软件测试的市场上有许多针对使用者接口(GUI)应用程序所开发的自动化测试工具,而且其中有些工具所提供的功能,已经足够满足软件测试自动化的需求。
但是,我们却看到越来越多的公司,在购买自动化测试工具之后才发现,实施一个符合成本效益(cost-effective)的自动化测试解决方案(solution)原比其所呈现的还困难。
我们会常常听到一些抱怨,像是“看软件测试工具厂商做起来好像很容易,但是当我们的人自己做的时候却完全不是那么一回事!”、“事实上我们已经花了六个月的时间在导入自动化测试,但是大部分的测试却还是停留在人工测试的阶段!”或是“要让整个自动化测试运作起来所花费的时间实在太长了,还不如使用原本的人工测试所花的时间更短!”。
通常最后的结局是“另一个错误的采购!”,自动化测试工具从此被束之高阁了。
何谓自动化测试?简而言之,所谓的自动化测试就是将您现有的手动测试流程给自动化。
而且要实施自动化测试的公司或组织,本身必须要有一套「正规(formalized)」的手动测试流程。
而这个正规的手动测试流程至少要包含以下的条件:∙详细的测试个案(test cases):从商业功能规格或设计文件而来的测试个案,包含可预期的(predictable)的预期结果(expected result)。
∙独立的测试环境(test environment):包含可回复测试资料的测试环境,以便在应用软件每次变动后,都可以重复执行测试个案。
假如您目前的测试流程并未包含上述条件,即使您导入了自动化测试,也不会得到多大的好处。
QTP基础教程学习(详细版)
QTP基础教程学习(详细版)目录目录 (1)1 QTP 简介 (2)1.1 自动化测试的好处 (2)1.2 QuickTest工作流程 (2)1.3 QTP程序界面 (3)1.4 Mercury Tours 示范网站 (5)2 录制/执行测试脚本 (5)2.1 录制前的准备 (6)2.2 录制测试脚本 (6)2.2.1 录制测试脚本 (6)2.2.2 分析录制的测试脚本 (8)2.3 执行测试脚本 (10)2.3.1 执行脚本出现错误 (11)2.4 分析测试结果 (11)3 建立检查点 (12)3.1 QuickTest检查点种类 (13)3.2 创建检查点 (13)3.2.1 对象检查 (13)3.2.2 网页检查 (16)3.2.3 文字检查 (17)3.2.4 表格检查 (18)3.3 执行并分析使用检查点的测试脚本 (20)4 参数化 (24)4.1 参数化步骤和检查点中的值 (24)4.1.1 参数化对象和检查点的属性值 (24)4.1.2 参数化操作的值 (25)4.2 参数种类 (26)4.2.1 使用数据表参数 (27)4.2.2 使用环境变量参数 (28)4.2.3 使用随机数字参数 (28)4.3 参数化测试脚本 (29)4.3.1 定义参数 (29)4.3.2 修正受到参数化影响的步骤 (30)4.3.3 执行并分析使用参数的测试脚本 (31)5 输出值 (32)5.1 创建输出值 (33)5.1.1 输出值类型 (33)5.1.2 存储输出值 (34)5.2 输出属性值 (35)5.2.1 定义标准输出值 (35)5.2.2 指定输出类型和和设置 (36)5.3 在脚本中建立输出值 (37)5.3.1 建立输出值 (37)5.3.2 执行并分析使用输出值的测试脚本 (40)1QTP 简介1.1 自动化测试的好处如果你执行过人工测试,你一定了解人工测试的缺点,人工测试非常浪费时间而且需要投入大量的人力。
QTP基础
QTP实现自动化原理
Company Logo
QTP基础
对象库
Company Logo
对象库
对象库中的对象可以在录制过程中自动产生,也可 手动添加指定对象 对象库分别本地对象库和共享对象库,区别是:
本好对象库只应用于本地Action调用 共享对象库以.tsr扩展名文件形式存在,可以被其 它Action调用
QTP基本功能介绍
用30分钟对QTP的功能进行快速预览
Company Logo
QTP基础
QTP实现自动化原理
Company Logo
QTP实现自动化原理
QTP主要采用的是使用GUI模拟人的操作。它在模拟人的操作时会记录操作的对象及 所做的操作和顺序,然后在回放时按记录顺序操作这些对象。而在这个模拟的过程中, 最重要的莫过于界面对象(控件)的识别,那QTP是怎么做的呢?下面就举一个小例子 来说明: 用户名和密码是否能成功登录。登录界面如下:
Company Logo
QTP基础
描述性编程
Company Logo
QTP中Description对象使用
描述性编程(descriptive programming) 1、descriptive programming概述 通常情况下,当在录制一个操作时,QTP会将被操作对象加入到对象库里 (Object Repository)。一旦对象存在于对象库里,我们就可以在专家视 图里通过添加相关的对象方法来对该对象进行操作。我们可以通过引用层次型 对象库里的对象描述(Object Description)来添加相应的方法。 因为QTP对象库中的每个对象都具有唯一名称,所以在引用时对象名是必 须需要指定的。然后在测试运行期间,QTP在对象库中根据这个对象的名称和 父对象来查找对象,并使用为这个测试对象存储的测试对象描述,在网站或应 用程序中标识该对象。 例如我们用QTP录制Yahoo Mail登录情况时我们需要输入用户名,于是 在录制时我们就会录下一个WebEdit对象,它的缺省逻辑名为 “login”,该 编辑字段位于名为“Yahoo! Mail - The best” 的页面上,并且该页面在浏 览器中使用名称Yahoo!进行录制。 那么如果我们想要应用该对象,就可以在专家视图输入以下信息: Browser("Yahoo!").Page("Yahoo! Mail - The best").WebEdit("login").Set “xxx” 或者我们也可以调用一些方法, 获取改对象在运行时的对象名,如: Browser("Yahoo!").Page("Yahoo! Mail - The best").WebEdit("login").GetROProperty(“name”)
QTP学习经验分享
循序渐进学习QTP--初级篇我们使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。
因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。
强烈建议你按照版主oldsidney 写的 Tutorial_oldsidney_cn.pdf 文件来认认真真、从头到尾地执行一遍,包括录制脚本、分析脚本、增加check point、Split Action 等。
我想这会减少你在学习QTP过程中的不少困惑和疑虑。
这篇文档对如何使用QTP写的非常详细,是QTP初学者的经典教材。
我就是看了这篇文档后才对QTP的整个测试流程有了一个初步的认识。
在此,我对oldsidney表示感谢。
注意:1,确保你的IE运行正常,依次点击菜单查看 --> 工具栏,一定要上网助手等插件卸载掉,特别3721这个垃圾网站和其它拦截广告的插件(它也把测试过程中弹出的窗口当成广告,一样会拦截的!)!2,如果是按照Tutorial_oldsidney_cn.pdf 文件中的订购飞机票的例子来练习 QTP 的使用,那么只需选择Web 插件就可以了。
如果是测试其它的应用程序或系统,就要根据需要来选择相应的插件了。
循序渐进学习QTP---中级篇在这个阶段你就要自己针对某个系统去录制脚本、维护脚本了。
在录制后的回放过程中,你可能会遇到各种问题,这个时候就需要发挥你的主观能动性来解决遇到的问题。
我想你可以按照下面的方法去解决:1,查看QTP的有关文档,包括Help 、QTP User’s Guide等文档。
这些都是比较系统全面的学习材料。
你该好好利用呀。
2,在本论坛上查看以前别人是如何解决此类问题的(如果有的话)或者是发新贴寻求帮助,也可以搜索Google 等网站寻找问题的解决方法;3,与自己部门的同事交流,例如与测试人员交流他们是如何解决的,与开发人员交流某个QTP无法识别的控件具体是是用什么来识别的等。
自动化测试工具QTP-初级03
知识点列表编号名称描述级别1 Global和Action 通过案例熟练掌握Global和Action的迭代方式***2 取值和赋值方法通过案例熟练掌握使用在DataTable中取值和赋值方法***3 导入和导出数据表通过案例熟练掌握对DataTable导入导出数据表的方法***4 操作行的方法通过案例熟练掌握操作DataTable表中操作行的方法***5 当前行的操作方法通过案例熟练掌握操作DataTable表中对当前行的操作方法**6 操作Sheet的方法通过案例熟练掌握操作DataTable表中对Sheet表单的操作方法*7 操作Parameters(列)的方法通过案例熟练掌握操作DataTable表中对Parameters(列)的操作方法*8 Count的方法通过案例熟练掌握操作DataTable表中Count的使用方法**9 登录脚本录制登录脚本,先录制错误的用户信息,然后录制正确的信息成功登录,并将结果输出到报告中***10 Debug 熟练掌握QTP的Debug功能的使用方法*** 注:"*"理解级别"**"掌握级别"***"应用级别目录1. Global和Action (2)2.操作DataTable (6)2.1.取值和赋值方法 (6)2.2.导入导出数据表 (9)2.3.操作行的方法 (12)2.4.当前行的操作 (13)2.5.操作Sheet的方法 (13)2.6.操作Parameters(列)的方法 (14)2.7. count的方法 (15)3.登录综合脚本 (15)1.Global和Action理解Global和LocalSheet的区别,可将Global和Action看作嵌套的For循环通过案例理解,脚本如下:在DataTable表中,Global如下图所示:Action1表如下图所示:在QTP工具栏File—>setting下打开对话框,在Run下设置Gobal的迭代方法:如下图所示,本例设置的是运行所有的行在Keyword View页面设置LocalSheet的迭代方式如下图所示,右键单击选择Action Call Properties在Run下设置LocalSheet的迭代方式,如下图所示,本例设的是运行所有的行:回访脚本结束后,查看Print Log如下图所示:查看Tset Results如下图所示:由Test Results可以明显看出,根据我们的设置,Global表迭代两次,Action1都迭代3次。
QTP工具使用培训_基础应用
录制模式详细描述(续)
模拟录制模式是对鼠标和键盘的精确操作进行录制。录制鼠标的拖动,捕
捉鼠标的运动轨迹,主要用于绘图此类软件的录制。模拟录制是在普通录 制过程中切换到此种模式的,无法在录制之前设置。 分类
相对于指定窗口录制:只录制鼠标键盘的指定窗口内的所有动作,在窗口外的 动作不会录制 相对于屏幕录制:可以录制在整个屏幕内所做的所有动作。
快照
QTP测试过程
录制测试脚本前的准备
测试什么功能、操作步骤、预期结果、QTP设置
录制测试脚本
每一个操作步骤都会被录制下来
编辑测试脚本
调整测试步骤、插入检查点、参数化等
调试测试脚本
对修改的测试脚本进行调试,确保脚本的正确性
运行测试脚本、分析结果
分析结果,回报问题到测试管理工具(QC)或自有管理工具
non-reusable reusable external
流程图
Function Function
Action
Test
Action
Step Step Step Step
Library
Action
以Test为测试运行单位,每个Test包含若干类型Action。 以Action为最小单位映射对象库,多个Action之间可以共享统一对象库 Action内的Step可以包含用户录制操作或者函数库内对Function的调用
对象探测器
对象库管理工具
QTP提供了一个很强大的对象库管理工具,可以通过这个工具实现多个对
象库的比较、合并等功能。
合并的时候,在两个对象库文件中,相同的对象合并成一个,不同的对象 全部被完整增加进去。然后形成一个大的对象库。
QTP培训PPT
测评中心
3.脚本优化
按照刚才的操作,我们将脚本参数化后如下:
给参数赋值:
测评中心
3.脚本优化
前面提到过,脚本保存的是业务逻辑部分, 参数化将数据与脚本分离,单独存放。当数据有多 种类型的时候,可以通过增加DT中的行来复用业务 逻辑代码,循环执行,达到测试覆盖的扩大。
设置RUN属性,为在所有行上运行:
测评中心
3.脚本优化
运行脚本,查看报告,可以看到检查结果是 pass。如果更改期望值,再运行时检查结果将 是failed。
接下来我们自定义一个检查点,用来检查查询结果表 中购销配比数值是否是我们期望的。 首先我们用spy工具,查看一下查询结果表的对象结 构:
测评中心
3.脚本优化
我们发现查询结果是一个WebTable对象,而且我们的对象库中并没有这个 对象。所以我们可以手动来添加它。
测评中心
1.QTP功能简述 单击Recod 按钮,QTP会自动打开被测站 点,在被测系统上进行操作,结束后点 stop,QTP将自动生成脚本代码 :
保存脚本.点击run按钮,观察代码自动回放的结果
测评中心
1.QTP功能简述 1.2熟悉QTP工作环境
测评中心
2.QTP工作原理
一个重要的工具:object spy
测评中心
QTP学习文档
8.2版本的序列号:8888-88888888881脚本录制1.1视图构成视图_工具栏(文件,测试,调试,操作)分别显示文件工具栏,测试工具栏,调试工具栏,操作工具栏视图_活动屏幕(active screen),进行专家视图和关键字视图之间的转化视图_数据表,在测试录制的下面显示数据表视图_调试解调器,在测试录制的下面可以显示调试解调器窗口视图_全部展开/全部折叠,可以把录制的全部脚本进行展开或者折叠。
1.2录制准备做一些基本的设置工作(test_setting或者在tools_option)录制会话后:qtp会将执行的每一操作步骤图形化显示为关键字视图或者专家试图中的一行在有输入日期的测试录制中,不能选择时间控制按钮,因为日期是基于一个java的日历,本教程没有加载java项,java加载项是要单独购买的外部加载项,日期必须要选择才可以录制要确保在录制的时候,前提是有加载项被选中(可以通过help_关于QTP _检查打开那些加载项)1.3录制脚本打开一个空白的QTP测试,点击“录制”按钮,选择浏览器和要录制的URL,开始录制脚本保存脚本1.4执行脚本打开脚本,点击【工具】-【选项】-运行选项菜单,在“步骤捕捉屏幕内容保存到结果中”选择“总是”点击【测试】-【运行】1.5分析结果执行测试脚本后,点击【测试】-【结果】,打开分析结果的页面,可以查看分析结果和详细的测试信息2增强脚本2.1检查点2.1.1检查点种类检查点种类2.1.2添加检查点2.1.2.1标准检查点首先把原有的测试脚本另存为文件名为:checkpoint打开checkpoint测试脚本,开启“活动屏幕”在关键和专家视图中,选择要添加检查点的行记录,在活动屏幕中显示该步骤,并且会红色的标记显示,在红色标记的框中“右键—插入标准的检查点”2.1.2.2图片表格检查点2.1.2.3页面检查点2.1.2.4表格检查点2.1.2.5分析检查点:页面检查点:表检查点:标准检查点:文本检查点2.2 设置参数2.2.1设置参数首先要脚本文件名命名为Parameter选中要设置参数的一列,在“value”列中右键出现参数化图标,进入如下所示页面在该页面,选择parameter项,在选择“currect action sheet”将name名字修改为参数名称,可以任意选择此是在数据表里面会有一个新的字段,并且显示输入的参数名称可以用参数字段设置来代替一个固定值,例如:出发城市为new york ,可以把new york的变量值该为一个参数字段(在数据表中显示参数字段),在参数字段中也可以输入任意两个出发城市的名称,这样,可以执行所有的参数字段中显示的出发城市-…的操作3从这里出发3.1测试规划规划测试个案:决定如何组织你的测试,考虑使用者如何操作你的应用程序或者网站,一边决定录制那些操作,并且在测试前需要先确认你的应用程序以及qtp是符合你的测试需求的录制脚本:按照规划的步骤,录制脚本修改你录制的脚本:假如检查点,验证网页,gui对象,表格以及文字的值是否正确,使用参数,键入输入值,还可以在测试脚本中加入表达式执行测试脚本分析测试结果提交错误问题4其他问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QTP基础教程学习目录目录 (1)1 QTP 简介 (2)1.1 自动化测试的好处 (2)1.2 QuickTest工作流程 (2)1.3 QTP程序界面 (3)1.4 Mercury Tours 示范网站 (5)2 录制/执行测试脚本 (5)2.1 录制前的准备 (6)2.2 录制测试脚本 (6)2.2.1 录制测试脚本 (6)2.2.2 分析录制的测试脚本 (8)2.3 执行测试脚本 (10)2.3.1 执行脚本出现错误 (11)2.4 分析测试结果 (11)3 建立检查点 (12)3.1 QuickTest检查点种类 (13)3.2 创建检查点 (13)3.2.1 对象检查 (13)3.2.2 网页检查 (16)3.2.3 文字检查 (17)3.2.4 表格检查 (18)3.3 执行并分析使用检查点的测试脚本 (20)4 参数化 (24)4.1 参数化步骤和检查点中的值 (24)4.1.1 参数化对象和检查点的属性值 (24)4.1.2 参数化操作的值 (25)4.2 参数种类 (26)4.2.1 使用数据表参数 (27)4.2.2 使用环境变量参数 (28)4.2.3 使用随机数字参数 (28)4.3 参数化测试脚本 (29)4.3.1 定义参数 (29)4.3.2 修正受到参数化影响的步骤 (30)4.3.3 执行并分析使用参数的测试脚本 (31)5 输出值 (32)5.1 创建输出值 (33)5.1.1 输出值类型 (33)5.1.2 存储输出值 (34)5.2 输出属性值 (35)5.2.1 定义标准输出值 (35)5.2.2 指定输出类型和和设置 (36)5.3 在脚本中建立输出值 (37)5.3.1 建立输出值 (37)5.3.2 执行并分析使用输出值的测试脚本 (40)1QTP 简介1.1 自动化测试的好处如果你执行过人工测试,你一定了解人工测试的缺点,人工测试非常浪费时间而且需要投入大量的人力。
使用人工测试的结果,往往是在应用程序交付前,无法对应用程序的所有功能都作完整的测试。
使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。
以QuickTest执行测试,就与人工测试一样。
QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快了很多。
1.2 QuickTest工作流程1.录制测试脚本前的准备在测试前需要确认你的应用程序及QuickTest是否符合测试需求?确认你已经知道如何对应用程序进行测试,如要测试哪些功能、操作步骤、预期结果等。
同时也要检查一下QuickTest的设定,如Test Settings以及Options对话窗口,以确保QuickTest会正确的录制并储存信息。
确认QuickTest以何种模式储存信息。
2.录制测试脚本操作应用程序或浏览网站时,QuickTest会在Keyword View 中以表格的方式显示录制的操作步骤。
每一个操作步骤都是使用者在录制时的操作,如在网站上点击了链接,或则在文本框中输入的信息。
3.加强测试脚本在测试脚本中加入检查点,可以检查网页的链接、对象属性、或者字符串,以验证应用程序的功能是否正确。
将录制的固定值以参数取代,使用多组的数据测试程序。
使用逻辑或者条件判断式,可以进行更复杂的测试。
4.对测试脚本进行调试修改过测试脚本后,需要对测试脚本作调试,以确保测试脚本能正常并且流畅的执行。
5.在新版应用程序或者网站上执行测试脚本通过执行测试脚本,QuickTest会在新本的网站或者应用程序上执行测试,检查应用程序的功能是否正确。
6.分析测试结果分析测试结果,找出问题所在。
7.测试报告如果你安装了TestDirector(Quality Center),则你可以将发现的问题回报到TestDirector(Quality Center)数据库中。
TestDirector(Quality Center)是Mercury测试管理工具。
1.3 QTP程序界面在学习创建测试之前,先了解一下QuickTest的主界面。
下图是录制了一个操作后QuickTest的界面。
在QTP界面包含标题栏、菜单栏、文件工具条等几个界面元素,下面简单解释各界面元素的功能:⏹标题栏,显示了当前打开的测试脚本的名称。
⏹菜单栏,包含了QuickTest的所有菜单命令项。
⏹文件工具条,在工具条上包含了以下几个按钮:⏹测试工具条,包含了在创建、管理测试脚本是要使用的按钮,如下图:⏹调试工具条,包含在调试测试脚本时要使用的工具条,如下图:⏹测试脚本管理窗口,提供了两个可切换的窗口,分别通过图形化方式和VBScript脚本方式来管理测试脚本。
⏹Data Table窗口,用于参数化你的测试。
⏹状态栏,显示测试过程中的状态。
在上面上面简要介绍了QuickTest的主窗口,你可能对一些窗口元素到底是干什么的感到很困惑,在我们下面介绍QuickTest具体的功能时,会真正了解它们的作用。
但在现在,应该尽可能的去熟悉这些界面元素,记住它们大概的功能,最好是花一些时间通过实际的操作来探索一下它们的功能,这对你能够顺利学习下面的内容是有帮助的。
1.4 Mercury Tours 示范网站Mercury Tours示范网站是一个提供机票预订服务的网站,在本课程中,我们使用MI 公司提供的Mercury Tours示范网站作为演示QuickTest各个功能的例子程序。
1.在开始使用Mercury Tours示范网站()之前,首先要在Mercury Tours网站上注册一个使用者账号。
2.Mercury Tours示范网站使用要登录并使用Mercury Tours示范网站必须使用注册账号。
在使用网站时,从[ Flight Finder ] 网页开始,按照画面上的指示预订机票。
在Booka Flight 网页,无需填写真实的旅客信息,信用卡卡号等标示为红色的字段中添加虚拟数据就可以了。
3.结束订票动作完成订票动作后,在[Flight Confirmation] 网页上点选[LOG OUT] 按钮或是选择[SIGN-OFF]按钮。
4.关闭浏览器现在知道如何使用Mercury Tours示范网站,就可以开始使用QuickTest录制测试脚本了。
2录制/执行测试脚本当浏览网站或使用应用程序时,QuickTest会纪录你的操作步骤,并产生测试脚本。
当停止录制后,会看到QuickTest在Keyword View中以表格的方式显示测试脚本的操作步骤。
2.1 录制前的准备在录制脚本前,首先要确认以下几项:⏹已经在Mercury Tours示范网站上注册了一个新的使用者账号。
⏹在正式开始录制一个测试之前,关闭所有已经打开的IE窗口。
这是为了能够正常的进行录制,这一点要特别注意。
⏹关闭所有与测试不相关的程序窗口。
2.2 录制测试脚本2.2.1录制测试脚本在这一节中我们使用QuickTest录制一个测试脚本,在Mercury Tours 范例网站上预定一张从纽约(New York)到旧金山(San Francisco)的机票。
1.执行QuickTest并开启一个全新的测试脚本⏹开启QuickTest,在“Add-in Manager”窗口中选择“Web”选项,点击“OK”关闭“Add-in Manager”窗口,进入QuickTest Professional 主窗口。
⏹如果QuickTest Professional 已经启动,检查“Help>About QuickTestProfessional”查看目前加载了那些add-ins。
如果没有加载“Web”,那么必须关闭并重新启动QuickTest Professional,然后在“Add-in Manager”窗口中选择“Web”。
⏹如果在执行QuickTest Professional时没有开启“Add-in Manager”则点击“Tool>Options”,在“General”标签页勾选“Display Add-in Manager onStartup”,在下次执行QuickTest Professional 时就会看到“Add-in Manager”窗口了2.开始录制测试脚本选中“Test>Record”或者点选工具栏上的“Record”按钮。
打开“Record and Run Settings”对话窗口:在“Web”标签页选择“Open the following browser when a record or run session begins”在“Type”下拉列表中选择“Microsoft Internet Explorer”为浏览器的类型;在“Address”中添加“/(网站地址)”这样,在录制的时候,QuickTest 会自动打开IE浏览器并连接到Mercury Tours 范例网站上。
现在我们在切换到“Windows Application”标签页,如下图所示:如果选择“Record and run test on any open Windows-based application”单选按钮,则在录制过程中,QuickTest会记录你对所有的Windows程序所做的操作。
如果选择“Record and run on these application(opened when a session begins)”单选按钮,则在录制过程中,QuickTest 只会记录对那些添加到下面“Application details”列表框中的应用程序的操作(你可以通过“Add”、“Edit”、“Delete”按钮来编辑这个列表)。
我们选择第二个单选按钮。
因为我们只是对Mercury Tours 范例网站进行操作,不涉及到Windows程序,所以保持列表为空。
点击“确定”按钮,开始录制了,将自动打开IE浏览器并连接到Mercury Tours 范例网站上。
3.登录Mercury Tours 网站在用户名和密码输入注册时使用的账号和密码,点击“Sign-in”,进入“Flight Finder”网页。
4.输入订票数据输入以下订票数据:Departing From:New YorkOn:May 14Arriving In:San FranciscoReturning:May 28Service Class:Business class其他字段保留默认值,点击“CONTINUE”按钮打开“Select Flight”页面。
5.选择飞机航班可以保存默认值,点击“CONTINUE”按钮打开“Book a Flight”页面。