QTP_10.0教_程
QTP脚本编程指导教程
在QTP软件中,用户可以创建脚本项目,设置脚本语 言和运行环境等参数。
QTP脚本编程语言基础
VBScript语言
QTP脚本编程使用VBScript语言,这是一种简单 易学的脚本语言,用于编写自动化测试脚本。
关键字和数据池
QTP提供关键字和数据池功能,用于定义测试数 据和参数化测试用例。关键字可以用于编写条件 判断、循环控制等逻辑语句。
问题3
如何处理异常和错误?
问题4
如何提高脚本的稳定性和可维护性?
QTP脚本编程解决方案
01
解决方案1
使用对象识别器识别动态变化的界 面元素
解决方案3
使用异常处理机制处理异常和错误
03
02
解决方案2
使用条件语句和循环结构实现多步 骤操作的自动化
解决方案4
遵循良好的编程规范,提高脚本的 稳定性和可维护性
01
设计清晰的目录结构,规范测试脚本命名规则,便于测试框架
的管理和维护。
实现测试用例管理
02
使用测试用例库,统一管理测试用例,方便测试用例的复用和
更新。
集成持续集成工具
03
将自动化测试框架与持续集成工具集成,实现自动化构建、部
署和测试。
QTP脚本编程与其他工具集成
与Bug跟踪工具集成
将测试结果与Bug跟踪工具集成,实现Bug 的跟踪和管理。
动态对象识别
对于动态变化的界面元素,QTP支持使用正则表 达式进行对象识别。
QTP脚本编程数据驱动测试
数据驱动测试的概念
数据驱动测试是一种测试策略,通过将 测试数据与测试逻辑分离,提高测试的
复用性和可维护性。
数据参数化
在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课程设计
qtp课程设计一、课程目标知识目标:1. 理解QTP(Quick Test Professional)的基本概念,掌握软件测试的基本原理;2. 学习并掌握QTP的操作界面、功能及脚本语言;3. 掌握QTP自动化测试的基本步骤和方法;4. 了解QTP在软件测试中的应用场景。
技能目标:1. 能够运用QTP进行自动化测试脚本的编写与调试;2. 能够运用QTP完成常见软件功能的自动化测试;3. 能够分析测试结果,找出软件潜在的缺陷;4. 能够独立完成一个简单项目的自动化测试。
情感态度价值观目标:1. 培养学生对软件测试职业的兴趣,树立正确的职业观念;2. 培养学生团队合作意识,学会在团队中沟通、协作;3. 培养学生严谨、细致的工作态度,提高学生分析问题和解决问题的能力;4. 培养学生面对挑战、勇于创新的品质。
课程性质:本课程为实践性较强的课程,以培养学生实际操作能力为核心,结合理论教学,使学生能够掌握QTP自动化测试的相关技能。
学生特点:学生具备一定的计算机操作基础,对软件测试有一定了解,但QTP自动化测试技能尚不熟练。
教学要求:注重理论与实践相结合,以学生动手实践为主,教师讲解为辅,强调学生的主体地位。
通过案例教学,让学生在实际操作中掌握QTP自动化测试的技能。
同时,关注学生的情感态度价值观的培养,提高学生的综合素质。
在教学过程中,将目标分解为具体的学习成果,便于后续的教学设计和评估。
二、教学内容1. QTP基本概念与原理- 自动化测试概述- QTP简介与安装- QTP脚本语言基础2. QTP操作界面与功能- QTP操作界面认识- QTP常用工具与功能介绍- QTP脚本录制与回放3. QTP自动化测试步骤与方法- 自动化测试流程- QTP脚本编写与调试技巧- QTP对象识别与操作- 数据驱动测试4. QTP在实际项目中的应用- QTP测试计划与设计- QTP测试用例编写- 自动化测试脚本优化- 测试结果分析5. 实践项目与案例分析- 简单Web应用自动化测试- QTP在移动应用测试中的应用- 企业级项目实践案例分享教学内容安排与进度:第1周:QTP基本概念与原理第2周:QTP操作界面与功能第3周:QTP自动化测试步骤与方法第4周:QTP在实际项目中的应用第5周:实践项目与案例分析教材章节关联:《软件测试技术与实践》第6章:自动化测试《QTP自动化测试实战》第1-5章:QTP基础、脚本编写、自动化测试方法、实际应用案例教学内容确保科学性和系统性,以教材为依据,结合课程目标,制定详细的教学大纲,明确教学内容的安排和进度。
QTP自动化测试教程
QTP自动化测试教程目录一、自动化测试概述 (2)1. 自动化测试简介 (3)1.1 自动化测试定义与特点 (4)1.2 自动化测试应用领域 (5)1.3 自动化测试发展趋势 (6)2. QTP自动化测试工具介绍 (8)2.1 QTP工具简介 (9)2.2 QTP功能特点 (10)2.3 QTP应用领域及优势 (12)二、QTP安装与配置 (14)1. QTP安装步骤 (15)2. 配置环境变量及插件安装 (16)3. 许可证管理及相关设置 (17)三、QTP基础操作入门 (18)1. QTP界面介绍及功能分区 (19)2. 创建与编辑测试项目 (20)3. 测试用例设计与管理 (21)4. 运行测试并生成报告 (23)四、QTP高级功能应用 (24)1. 对象识别与定位技术 (26)2. 参数化测试及数据驱动测试 (28)3. 测试脚本编写与调试技巧 (29)4. 插件开发与集成应用 (30)五、QTP自动化测试实战案例 (32)1. 网页应用自动化测试案例 (33)2. 桌面应用自动化测试案例 (34)3. 移动应用自动化测试案例 (35)六、QTP性能优化与常见问题解决方案 (36)1. 提升测试效率的策略和方法 (38)2. 常见错误类型及解决方案 (40)一、自动化测试概述自动化测试是一种使用计算机程序来模拟人工测试过程的方法,它可以在较短的时间内、更低的成本和更高的效率下完成大量的测试任务。
在QTP(QuickTest Professional)中,自动化测试是指利用QTP的脚本语言编写测试脚本,实现对软件功能的自动执行、验证和故障定位等功能。
提高测试效率:通过自动化测试,可以快速地重复执行相同的测试用例,大大缩短了测试周期。
降低测试成本:自动化测试可以减少人力资源的投入,节省测试人员的培训成本和管理成本。
提高测试质量:自动化测试可以消除人为因素导致的错误,提高测试结果的准确性和可靠性。
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_10破解方法new
QTP 10.0 破解下面是QTP10的迅雷下载地址。
1.7G;你自己下载哈。
/prdownloads/T6510-15063.zip?ordernumber=380454070&item id=1&downloadid=33606114&merchantId=HP_DOWNLOAD_CENTER&dlm=ON第一:下载的是一个压缩包,解压后是一个文件夹,双击里面的setup;选择界面的quick profession,就是界面最上面的一个版本。
第二:此时可能会提示无法安装,必须先安装两个下面的.net Framework…和Microsoft c++ 什么的。
注意安装之前,必须电脑里先安装有。
.Net Framework…和Microsoft c++ 什么的,按照提示百度下载就是,先安装。
如过这两个电脑自己带有就不用下载了。
mgn-mqt82.exe也是要准备的材料之一,破解用得上,百度下载就是,我就发给你这个比较小。
第三,安装成功就开始破解注册的,因为只有15天试用期,所以要破解为永久版,有点麻烦,下面及时步骤,愿你成功。
最后注意一点,qtp搞定之后,可能jdk跑步起来了,是因为注册一些jdk的环境变量,删除新默认因为qtp安装的java环境变量,只剩下原先的就是。
破解步骤:1.安装qtp,一路默认下来,到要求输入License的界面2.拷贝mgn-mqt82.exe(下载)到C:\Program Files\Mercury Interactive(自己手动创建)文件夹下3.自己手动创建C:\Program Files\Common Files\Mercury Interactive\License Manager文件夹4.执行自己刚才创建的C:\Program Files\Mercury Interactive文件夹下的破解工具mgn-mqt82.exe,会提示lservrc文件生成。
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无法识别的控件具体是是用什么来识别的等。
qtp10讲解
RegisterUserFunc "Dialog", "CaptureBitmapAndSaveToLog", "CaptureBitmapAndSaveToLog"
detailsStr = "<" & "<img src='" & fileNameStr & "'>"
' 通过Reporter展现在测试报告中
Reporter.ReportEvent micStatus, titleMessage, detailsStr
End Function
' Register for WEB
QuickTest assets include tests, components, application areas, and the resources associated with them, such as shared object repositories, function libraries, recovery scenarios, and external data tables.
在系统需求方面,QTP 10所要求的硬件环境并没有太大的改变,最低512M的内存、PIII以上CPU即可。但是如果使用“Save movie to results”功能的话,则推荐使用1G内存以上,因为该功能会在运行过程中录制界面视频,将占用比较多的内存资源。
QTP自动化测试教程
QTP自动化测试教程QTP(QuickTest Professional)是一款流行的自动化测试工具,由惠普公司推出。
它可以帮助测试人员更高效地进行软件测试,并减少测试过程中的人为错误。
本教程将介绍QTP的基本概念、使用方法和最佳实践。
1.什么是QTP?QTP是一款功能强大的自动化测试工具,它可以模拟用户的行为并检查应用程序的响应。
它支持多种应用程序类型,包括桌面应用程序、Web应用程序和移动应用程序。
2.安装QTP3.创建测试用例在QTP中,一个测试用例被称为“测试动作”。
创建一个测试用例的步骤如下:-打开QTP并选择“新建测试”。
-选择要测试的应用程序类型,并指定应用程序的位置。
-录制测试用例的步骤。
在录制期间,QTP会自动记录用户操作并生成相应的脚本。
5.参数化参数化是QTP的一个重要功能,它允许在多次运行测试用例时使用不同的输入。
参数化可以通过数据表、数据库或外部文件来实现。
6.调试和运行测试用例在测试用例开发完成后,可以使用QTP的调试功能来验证脚本的正确性。
在调试过程中,可以逐步执行脚本并观察各个步骤的执行结果。
7.数据驱动的测试QTP支持数据驱动的测试方法,可以通过结合测试数据和测试动作来进行大规模的测试。
数据驱动的测试可以提高测试的覆盖率,并减少重复工作。
8.错误处理在脚本执行过程中,可能会出现各种错误。
QTP提供了一些内置的错误处理机制,可以捕获和处理运行时错误,从而使测试用例执行更加稳定和可靠。
9.自定义对象库QTP的对象库用于识别应用程序中的对象和控件。
有时,QTP无法识别一些自定义控件,这时就需要创建自定义对象库来识别这些控件。
10.测试结果分析在测试用例执行完成后,QTP会生成一个详细的测试结果报告。
该报告包含测试用例的执行状态、错误信息和性能统计数据,供测试人员分析并做出决策。
11.最佳实践以下是一些在使用QTP进行自动化测试时的最佳实践:-标识并重用对象:使用QTP提供的对象识别工具来标识和重用应用程序中的对象和控件,以减少维护工作。
QTP自动化测试教程
自动化测试新手上路一、初识庐山真面目自动化测试离不开工具,我们首推测试界声名显赫的“QuickTest Professional 10.0”,简称QTP。
至于推荐他的理由,大家可以到网上一搜便知。
1、安装QTP首先第一个环节便是介绍:如何安装这个让人爱不释手的工具—QTP。
1、找到工具:途径有两个,一个是拿着U盘找安装过的同事copy;另一个是到测试部共享的工具服务器上下载,地址:\\10.1.145.152\测试部\Tools,文件名为:QTP10 安装文件.rar。
推荐,第一个途径,能够又快又准确的找到你想得到的东西,并且在联络感情之余可以随便请教安装与试用之道,当然这一定要看当事人是否有这个时间。
如果人家没有这个时间也别急,请耐心看完此文档。
2、检查安装环境:a)C盘空间:因为我们推荐将QTP安装在C盘,所以请检查C盘是否有足够的空间,安装完的QTP大概640M左右。
b)是否有病毒:建议杀一下病毒,之前有同事因为病毒安装不成功的案例。
c)暂时关掉某些杀毒软件:例如已知的杀毒软件“诺顿”、“卡巴斯基”。
原因是这两个杀毒软件会将我们的特别文件当做病毒给杀掉,无法顺利安装试用QTP。
d)检查IE版本:理论上QTP是支持IE6、7、8的,但IE8需要另下补丁,IE7也遇到一些不可理喻的问题,所以在安装QTP之前烦请将IE7或8卸载,降至IE6。
3、开始安装。
得到安装文件后,解压,点击“”,一路下一步,注意:开始有一个步骤需要安装QTP需要的组件,一个是“.net framework 2.0”和一个关于C++的东西,不能跳过,必须安装。
直到见到如“图一”的页面,停下来确认是否能够上外网。
最好是能够联网安装,因为这一步有一个“下载并安装脚本调试器”,由于不明确这个调试器是个什么东西,也就没找到相关的安装包。
不安装此调试器的直接后果是,无法调试你编的QTP脚本,很麻烦。
图一:其他安装需求如果实在不能联网安装,则将“下载并安装脚本调试器”前面的复选框取消勾选即可以继续安装,待能够上外网的时候再说(重新打开此页面的位置在:开始→程序→ QuickTest Professional→Tools→Additional Installation Requirments),其他三项必须保留选中,然后点击【运行】按钮。
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基础教程_内部学习
位图检查点 在Active screen中,右键insert Output Value,打开insert Output Value properties对话框 ,选择高度和宽度,如下图: •
运行中存在数据
运行中清除数据
03 执行并分析使用检查点的测试脚本
在上一节创建4个检查点后,运行checkpoint测试脚本,分析插入检查点后,脚本的运行情况。 在工具栏点击“run”按钮,弹出以下窗口: 这个页面是专门设置讲脚本存在哪一个目录,点击“确定”后,quicktest会按照脚本的操作,一步 一步进行测试,操作的过程与手工完全一样。
位图检查点 在Active screen中,右键insert Bitmap checkpoint,打开Bitmap checkpoint properties 对话框,选中它的范围,如下图: •
位图检查点 在Active screen中,右键insert Text checkpoint,打开Text checkpoint properties对话框 ,选择匹配类型,如下图: •
•
脚本运行方式
打开录制的脚本,设置运行选项,点击Tool-options,点击run,如下图:
设置画面的存储结果,点击run下的Screen capture,勾选Save still image capture to result, 如下图:
调试运行,按F9设置/取消断点,如图:
按F5或单击工具栏的“run”按钮,到断点就进入调试模式,按F11或者Debug菜单下的“step into”选项,单步运行,运行到哪一条,黄色箭头将指向正在执行的测试步骤,如下图:
4.对测试脚本进行调试
修改过测试脚本后,需要对测试脚本作调试,以确保测试脚本能正常并且流畅的执行。
QTP10安装现用图解
QTP10.0安装图解安装环境Windows XP Professional En SP2+IE6.01、安装脚本调试工具,位置\\192.168.0.254\学生学习资料\ATT\QTP\MTours.iso2、双击安装包后,提示是否安装,点击yes3、确认许可协议后,安装在默认路径4、安装QTP10.0,位置\\192.168.0.254\学习资料\QTP\QTP10.iso5、放入光驱后,程序会自动运行,出现如下界面后,选择第一项QTP程序安装6、出现如下提示,程序安装下面2个插件才能继续,点击OK安装.Net Framework 2.0和Microsoft Visual C++ Run-time Components7、安装完组件后,出现下面的提示后,点击下一步继续8、选择我同意,点击下一步继续9、插件选择,这里面除了默认的插件选择外,再选择一个Java插件,便于后面演示插件的破解。
10、图解中没有提到的步骤均按照默认方式安装,设置完成后,点击下一步开始安装11、直至安装完成,点击按钮完成后,稍等一会12、出现如下提示界面,主要是设置页面,不用改动,点击RUN,即可13、出现证书安装提示界面,此时如下所示,点击下一步14、出现下面的license-key的时候,不要点击任何内容,下面进入破解过程15、使用补丁光盘,位置\\192.168.0.254\学习资料\QTP\QTP10补丁.iso16、C:\Program Files\Common Files\Mercury Interactive下创建文件夹:License Manager17、将破解工具mgn-mqt82.exe复制到C:\Program Files\HP\QuickTest Professional\bin 下18、运行mgn-mqt82.exe,ok,关闭。
19、用记事本打开License Manager下的lservrc文件,将第一行#前的代码Copy。
QTP自动化测试教程
自动化测试新手上路一、初识庐山真面目自动化测试离不开工具,我们首推测试界声名显赫的“QuickTest Professional 10.0”,简称QTP。
至于推荐他的理由,大家可以到网上一搜便知。
1、安装QTP首先第一个环节便是介绍:如何安装这个让人爱不释手的工具—QTP。
1、找到工具:途径有两个,一个是拿着U盘找安装过的同事copy;另一个是到测试部共享的工具服务器上下载,地址:\\10.1.145.152\测试部\Tools,文件名为:QTP10安装文件.rar。
推荐,第一个途径,能够又快又准确的找到你想得到的东西,并且在联络感情之余可以随便请教安装与试用之道,当然这一定要看当事人是否有这个时间。
如果人家没有这个时间也别急,请耐心看完此文档。
2、检查安装环境:a)C盘空间:因为我们推荐将QTP安装在C盘,所以请检查C盘是否有足够的空间,安装完的QTP大概640M左右。
b)是否有病毒:建议杀一下病毒,之前有同事因为病毒安装不成功的案例。
c)暂时关掉某些杀毒软件:例如已知的杀毒软件“诺顿”、“卡巴斯基”。
原因是这两个杀毒软件会将我们的特别文件当做病毒给杀掉,无法顺利安装试用QTP。
d)检查IE版本:理论上QTP是支持IE6、7、8的,但IE8需要另下补丁,IE7也遇到一些不可理喻的问题,所以在安装QTP之前烦请将IE7或8卸载,降至IE6。
3、开始安装。
得到安装文件后,解压,点击“”,一路下一步,注意:开始有一个步骤需要安装QTP需要的组件,一个是“.net framework 2.0”和一个关于C++的东西,不能跳过,必须安装。
直到见到如“图一”的页面,停下来确认是否能够上外网。
最好是能够联网安装,因为这一步有一个“下载并安装脚本调试器”,由于不明确这个调试器是个什么东西,也就没找到相关的安装包。
不安装此调试器的直接后果是,无法调试你编的QTP脚本,很麻烦。
图一:其他安装需求如果实在不能联网安装,则将“下载并安装脚本调试器”前面的复选框取消勾选即可以继续安装,待能够上外网的时候再说(重新打开此页面的位置在:开始→程序→QuickTest Professional→Tools→Additional Installation Requirments),其他三项必须保留选中,然后点击【运行】按钮。
QTP(Quick Test Professional)自动化测试基础教程说明书
Hands on QTPModule 1 - Automation Basics∙What is Manual testing∙Limitation of manual testing∙What is automation testing∙When to implement automation testing∙Benefit of automation testing∙When not to use automation testingModule 2 - QTP Fundamentals∙Introduction to QTP∙Architecture of QTP∙Environment supported by QTP∙Installation of QTP∙Installing seat or con-current license in QTP∙Installing Add-ins∙Running simple record and runModule 3 - Fundamentals of Vbscript∙Why VB in QTP∙Vbscript variables and constants∙Vbscript arrays∙Writing functions and subroutines∙Writing conditional statements∙Writing loop statements∙Vbscript classes∙Writing and executing simple VBscript in QTP Module 4 - Basics of QTP∙Creating a test∙Expert and keyword view∙Recording and running a test∙Recording modes∙Record and run settings∙Active screen, checkpoints and object description ∙Saving a test∙Opening existing testModule 5 - Objects and object repository∙Objects in QTP∙Types of Objects∙Object spy∙Object repository∙Local and Shared object repository∙Object Identification in QTP∙Adding and removing objects manually in object repository ∙Storing object repository on hard diskModule 6 - Synchronization∙What is synchronization∙Methods to configure synchronization∙Test setting method∙Wait method∙WaitProperty method∙Exist method∙Sync methodModule 7 - Checkpoints∙What is checkpoint∙Standard checkpoint∙Text checkpoint∙Text area checkpoint∙Bitmap checkpoint∙Accessibility checkpointModule 8 - values∙What is output value∙Standard output value∙Text output value∙Text area output valueModule 9 - Datatable/parameterization∙what is data table∙Global data table∙Local data table∙Data driven scenario automation∙Import/export excel into datatableModule 10 - Descriptive programming∙What is descriptive programming∙When to use descriptive programming∙How does QTP extracts objects∙Extracting all the objects and printing properties of objects ∙Extracting all links of page and printing their names∙Extracting links and clicking them one by one∙Extracting specific objects。
QTP指导
批评测试工具产品参考报价1、QTP8.2:18万2、loadrunner8.0:$5.5w-7.5w(1)支持的虚拟用户:100个的12.3w,250个的16.5w,500个的20.6w,1000个的30.9wQTP安装与破解1、安装脚本调试工具(1)使用“QTP脚本调试器.iso”2、安装QTP10.0(1)使用“QTO10.0.iso”(2)到输入序列号时,取消退出3、破解(1)在C:\Program Files\Common Files\Mercury Interactive下创建文件夹:License Manager(2)将“QTP补丁.iso”中的破解程序mgn-mqt82.exe复制到E:\HP\QuickTest Professional\bin下(3)运行mgn-mqt82.exe(4)打开C:\Program Files\Common Files\Mercury Interactive\License Manager\lservrc文件,Copy第一行#前的代码(5)将上一步复制的内容粘贴到QTP安装界面的license文本框中,点击完成QTP界面1、file菜单——settings(1)properties<1>Associated add-ins(插件)○1若录windows程序,常把web项勾掉○2若录网页,常把visual basic勾掉,练习无所谓,可以全选(2)run:执行参数化时常用○1iteration:重复、迭代、循环○2Object synchronization timeout:界面报错时等待最长时间○3Disable Smart Identification during the run session:禁止智能识别用户操作○4Save image of desktop when errors occurs:出错时保存图片○5一单击Run后,弹出的窗口会询问结果存入硬盘和是临时存储(3)Web:网站的用户名和密码,一般不用(4)Recovery:如测试计算器时,QQ闪了一下,QTP会将焦点移至QQ,挡住了QTP,找不到计算器了,此时可设置去执行其他事情或步骤2、Resources菜单——Object Repository(对象库)(1)必须打开程序(2)可以高亮显示控件:Highlight工具(3)可以添加控件:单击某个控件即可,可以直接把控件拖到代码中,这会自动生成新代码3、tools——options(1)General○1Display Add-in:在启动QTP时显示插件,选上会使QTP启动变慢○2Display Start Page:启动QTP时显示开始页,选上也会使QTP启动变慢<1>在开始页中,简单介绍一下Welcome下的一些图标<2>Test选项卡:Test Flow为测试流,在这里可以建很多Action○1单击下方的"Expert View(专家视图)",可以在此输入代码,如msgbox("hello!",64+1,"caption"),提示需要安装好调试插件(脚本调试器debuggersetup.exe:可以断点执行)○3Automatically generate "with":自动生成with语句,with语句(调用函数)如xxx.chi() xxx.he() xxx.shui() xxx.chang可以改写为:with xxxbeginchi()he()shui()chang()end○4Restore Layout:回到刚安装完QTP的面板状态(2)Run○1Normal:可以设置回放速度,可设置为1000或2000,表示1s、2s,一般QTP回放会较快○2Allow…:允许QC等访问QTP(3)Windows Applications<1>Search radius:查找半径,以鼠标单击处为圆心,此值为半径查找控件4、工具栏(1)Record<1>录制其实是截图,在保存的测试文件夹中Action1(场景)——snapshots——看以看到压缩的图片,需要解压软件才能查看,回放时以此图对比(2)Run<1>回放时,以单击鼠标的位置为圆心,常以35px为半径进行查找控件(通过控件的名字识别控件),从左向右,从上向下查找,根据超时来决定何时结束查找QTP初步使用1、QTP使用流程(1)录制Windows程序<1>QTP自动打开程序○1脱机版小飞机1)Automation——Record and Run Settings——Windows ApplicationA)选中“Record and run only on”——选中“Applications specified below”——点击窗口中右部的“+”——看一下application的内容:…\QuickTest Professional\samples\flight\app\flight4a.exe Launch Application选项指录制脚本时自动启动程序Include descendant processes:包括子进程B)录制:点击工具栏Record,按软件提示输入即可C)回放:即允许,单击工具栏Run或按F5,可以保存测试结果2)Applications opend via the desktop(by the windows shell)可以录制从桌面操作的软件○2记事本:C:\WINDOWS\notepad.exe○3计算器:C:\WINDOWS\system32\calc.exe<2>手动打开程序○1脱机版小飞机:开始——QTP——samples——Flight○2记事本○3计算器(2)录制Web程序<1>Web版小飞机○1安装网页版小飞机:Mtours.iso\MTours○2关闭再启动Tomcat服务(在开始菜单的Mercury Tours下,类似于IIS),不要关闭Tomcat服务窗口○3打开开始菜单下的Mercury tours网页,在localhost后面加8080○4注册新账号(在注册时应该会崩溃,因为java安装程序有些问题,找到Mtours.iso\1.2,停止Tomcat,把其中内容拷至C:\Program Files\Mercury Interactive\MercuryTours\Javasoft\jre\12.\,全部替换<注:jre是运行java程序,是客户端;jdk是用于开发java程序的>)○5登录(若有提示安装Activex插件,最好不要动,或在录之前处理好,最好录制前什么都不弹出,可把自动完成全部勾除,否则在录制时,若没有弹出,回放就会不成功,因为不能重现了)○6录制:输入网址:http://IP地址:8080/mtours(注意不要遗漏8080)——登录(不能注册,否则注册又会重复)——选2张票——log out——停止录制——关闭网页——Run(回放,因没有设置检查点,所以不知道测试是否成功)<2>自动打开Web小飞机程序<3>手动打开Web小飞机程序2、测试步骤的编辑或补录(1)代码形式(Expert View)<1>写入代码即可,如加上update order,转到关键字模式后,可见不可识别其项目——转到Keyword View,单击项目列表——Object from repository——点击手状按钮(最好事先打开flight程序)——找到要添加的对象控件(可以按住ctrl是鼠标脱离手状)——点击如Expert View即可刷新(2)关键字模式<1>先在工具栏对象库(Object repository)中添加控件——在打开的窗口中,单击工具栏的添加(Add objects to local)按钮——定位控件,单击一下即可——在Keyword View中,单击项目列表——加一个步骤:在item最后一行(空白行)处单击——找到新添加的空间名字——转到Expert View,可见自动写入了代码(或在某一步骤后右击添加新步骤)(3)补录<1>在Active Screen视图中右击要添加的控件——Step Generator模拟录制1、区别(1)Analog Record,会把鼠标的操作录入;一般用于对所有的操作比较严格时,特适用于签名时(2)Normal Record为一般录制只会录制与程序有关的控件操作(3)低级录制:根据鼠标相对位置录制,一般可以开始时单击某个对象,确定参考点2、小飞机单机版签名演示(1)在插入订单的界面,单击工具栏“打开”——输入日期(2)文件——传真订单——输入传真号码如010*******——选中订单中签名——手工写入签名,不过不用这种方式录制(3)模拟录制<1>录制<2>打开画图板,选中画刷,单击QTP工具栏“模拟录制”,选择第二项,单击手状按钮,点击“启动模拟录制”按钮,写完一些文字,关闭画图板,不保存,停止录制<3>回放<4>说明:签名不以代码方式保存,而是类似于录屏低级录制1、低级录制只录制鼠标的相对位置,只关注鼠标的起始点和结束点,或者说鼠标点击和放开的位置;适合于控件识别不了时,控件能单击,使用此方式进行相对坐标录制即可2、录制3、打开画图板,点低级录制工具,在画图板中写东西4、回放检查点1、有8种检查点(预期结果):标准、图片、图像、表格、网页、文本、数据库、XML(加红色的为需重点讲解的)2、录制“小飞机”单机版(1)新建一个测试Test(2)自动化——录制和运行设置——windows应用程序(注意同时Web项选第一个)——选择第一项(3)Record录制(4)手动:开始——程序——QTP——Sample Applications——Flight——输入用户名如wwww,点击“help”——点击“确定”——输入密码mercury——关闭窗口(5)停止录制(6)Run回放:设置回放速度如1s,工具——选项——Run——Run Mod:normal设置为1500ms(7)可以直接查看结果,菜单View——Expand All,可以全部展开3、添加检查点:如检查“帮助”中的mercury对不对(1)在关键字视图中,找到帮助的弹出窗口(2)精确定位到弹出窗口中的mercury等文字,右击“插入文本检查点”或“插入标准检查点”<1>文本检查点的选项解释○1match case:区分大小写;exact match:精确匹配;ignore space:忽略空格○2checkpoint timeout:找不到控件或文字等对象时的超时设置<2>标准检查点的选项解释○1enabled:对象可用性,如置灰否○2x、y:为对象的坐标○3text:文本值○4insert statement:表示此检查点语句防止的位置在当前步骤的前或后(3)取消enabled,点击text,超时设置为5s,ok(4)回放Run(5)在结果中查看检查点已经通过4、修改检查点:添加一个不能通过的检查点(1)在关键字视图,找到检查点(第二列Operation为check),单击第三列Value中的勾,可以修改检查点(2)把mercury改为mercury1(3)Run,查看结果5、图像检查点(多用于回归测试)(1)小飞机<1>找到登录界面,让飞机图片完全显示,不要有任何遮挡,右击飞机图片——插入bitmap检查点<2>tolerance:公差,容忍度,可以设置颜色的符合标准或质地,可以不设置,会很苛刻<3>超时设置为5s<4>Run回放,看结果(2)三角形回归测试<1>搭建三角形网站<2>录制新三角形<3>修改代码,把打开的网页网址修改为旧三角形的网址,右击三角形图形,插入图像检查点,设置超时3s<4>Run回放<5>切换到专家试图,把代码中网址中的newsjx改成sjx,重新回放,看结果6、录制过程中插入检查点(1)录制小飞机<1>打开小飞机脱机版<2>弹出help密码时,菜单插入检查点——文本检查点<3>点击一下The password…——检查点为常数——超时3s——…<4>常在录制好以后添加检查点<5>运行7、同步检查点(1)主要用在动态的控件中,比如进度条等(2)在录制过程中插入才可以插入(3)property name选择text,value填入"insert done",此时结果会有警告,value中加上…就可以了,大小写也得一致)(4)注意超时时间不要太小,否则插入数据完不成参数化、输出值检查点1、即设置用例中的很多具体数据、对应的很多具体的预期结果、实际结果2、Web程序的例子(参数化之前)(1)发布两个网站sjx(1.0版)和newsjx(2.0版)(可重新搭建)(2)先试验能够打开两个网站(3)新建测试——录制与运行设置——Web——选择第一项——录制——打开IE——手动输入网址(不要复制粘贴,否则无法录制)http://192.168.5.211/sjx——输入三边3,3,3——提交——确定——关闭窗口——停止录制(4)添加检查点与上边完全相同(5)Run回放3、简单的参数化(1)在上一步的基础上,找到输入第一条边3的行,单击Value列,设置其值(2)选择parameter,Name起名为p1,ok(3)选择Data Table视图,可以看到下面的Excel表中已经有数据(4)类似的把另外两条边的数据接入,分别起名为p2、p34、参数化、检查点(1)对提交后弹出框中的“等边三角形”添加检查点,对检查点进行参数化,起名为checkpoint1,超时3s(Text not displayed表示不显示预期结果,此项不能选)(2)Run回放,看结果(3)利用原来数据的参数化并无实际意义5、实际的参数化(1)清除原有的检查点和参数化(2)在Data Table视图中,加入<1>3,3,4:等腰三角形<2>3,6,9,不能构成三角形<3>吃、喝、玩,输入错误(3)Run回放(跑3遍),看结果6、输出值检查点(实际的输出结果)(1)找到最终的弹出界面(2)右击输出的文字——插入输出值——选中text——点击modify进行参数化,编辑parameter最右方的图标(3)Run回放,看结果(4)在QTP结果界面中,点击Test Summary下的Run-time Data Table可以看到临时结果(5)查看Data Table中的输出列,实际值没有显示在QTP没有关系,可在存储结果的报告文件中保存7、Excel编程处理测试结果及统计分析(1)事先保存测试结果(2)在测试结果文件夹中找到Default.xls(3)在最后一列加列名Results,编辑公式写入Passed或Failed(4)有多少用例通过等体积数据也可以自行设计8、执行部分测试用例(1)菜单:文件——设置——运行——可以设置执行用例的条数9、Data Table中的复制粘贴(数据批量处理)(1)使用小飞机网站版(2)手动录制<1>注意启动Tomcat<2>注意事先注册一个用户<3>注意网址中的8080<4>回放(3)参数化<1>对出发地、目的地参数化(4)Data Table中的数据批量处理<1>从Excel导入测试数据<2>从软件中导入(只适用于Web程序)○1找到出发地的控件,右击Copy Content,转到Data Table,然后粘贴,类似的在目的地列也粘贴○2调整Data Table的两列数据,使同一行不同○3回放DB检查点1、数据库检查点用于检查数据是否正确插入、修改或删除2、使用小飞机单机版,需要Office数据库Access的支持(1)小飞机:开始\程序\QTP\sample\flight(2)找一下数据库存放位置:右击程序中的小飞机——属性(3)查看数据库,主要使用orders表3、录制小飞机单机版(1)录制,用户名输入what,客户名输入where(2)查看数据库中的orders表,可见多了1记录,是录制时加入的(3)回放(4)查看数据库中的orders表,可见又多了1记录,是回放时加入的4、插入DB检查点(检查已有数据)(1)删除数据库中的第10条后面的记录(2)找到Insert Order按钮,插入DB检查点(注意检查点应该在Insert之后)○1只能使用主菜单:Insert——Checkpoint——DB Checkpoint○2选择使用SQL语句○3create:选择机器数据源,选择QT_Flight32,输入SQL语句:select * from orders<1>数据列带勾:表示输入数据时检查数据是否存在,点击右上方#号,可把勾去掉,此处全打勾,表中的数据是预期结果<2>打勾,表示预期结果<3>选择After current step<4>Cell Identification:设置数据项的识别方式,by row number表示只检查DbTable中的行(3)回放,查看结果,通过,运行时检查了DbTable中的所有数据(4)随便修改DB中的前10行中的一个数据,再回放,看结果,失败(5)以上操作说明,对新插入的数据是不做检查的(6)修改表数据,确定数据库中只有11条,若没有11条,可回放加入5、检查新插入的数据(1)删除原来的DB检查点,重新创建DB检查点,选中最后一行此处为第11行,表示只检查第11行,回放,结果通过,但这并不表明刚刚插入的数据是正确的,因为刚刚插入的并没有检查(2)随便修改DB中第11行的一个数据,再回放,看结果,失败(3)随便修改DB中第11行以后的一个数据,回放,看结果,通过,因为直接检查第11行(4)把DB中的第10条以后的数据全部删除,看一下DB检查点中的检查项,回放○1结果没通过,单击没通过处,在右方打开的出口最右侧栏,单击“天平”图标,可见有预期结果,没有实际结果,因为DB中还没有11条记录,这说明数据没有被成功写入数据库,当一点击Insert时,就开始检查了,但数据还没有被写完○2增加等待检查时间:在专家视图,找到Insert对应的代码,在后边加上wait 8等待8s使数据库写完○3删除第10行以后的数据,重新回放,看结果,通过6、检查点参数化(1)只保留数据库中的第10条及其之前的记录(2)将DB检查点参数化(此处仅选中11)(3)查看Data Table,再添加一个12(4)回放,查看结果,11成功,12失败,因为检查的还是第11行,by row number只检查DbTable中的行(5)修改参数化,使检查随着参数值向下走○1只保留数据库中的第10条及其之前的记录○2选择“Cell definition”——选择“By selected key column”(只要列中有待检查值即通过)——(一定要)单击右边的1(列号)○3回放,看结果,通过○4再加一行测试数据如13,试试,通过7、客户名检查点(DB检查点另一个例子)(1)删除DB中第11条记录(保留)以后的数据(2)删除原有的DB检查点,注意同时删除Data Table中的数据(3)参数化客户名,加入测试数据zuzhang、banzhang(4)Insert order后插入DB检查点(即检查DB中是否存在此数据),写入SQL语句:select customer_name from orders(5)选择只检测第11条(where),参数化,在Cell Identification中选择By selected key column,选中1为关键列,选择After current step(6)代码中在DB检查代码之前加入wait 8(7)在Data Table中添加DB检查点值zuzhang、banzhang,回放,看结果全通过(8)把客户名改为xuewei(这是实际要插入的数据),DB检查点值仍为where,回放,看结果全通过删除DB中第10条以后的数据,重新回放,结果显示为xuewei通过,因为xuewei被成功的写入了DB,但是where没有写入,DB中没有曾经写入的数据删除DB中的第10条以后的数据,将xuewei和where对调,重新回放参数传递(了解)1、录制小飞机脱机版2、右击Action1——Action Properties——parameters(1)输入参数名为username,默认值为what(不要加引号)(2)输出参数名为output13、点击Agent Name——参数化——选择username4、添加检查点:在密码之前,验证文本值what(预期)5、Run输出参数(可以不讲)1、续上,右击Action1——Action Properties——parameters(1)输出参数名为output12、在关键字视图中选择Agent Name,点击工具栏步骤生成器(或F7)3、operation选择GetROProperty,下面的property的value值为text4、点击Return Value,选择output15、在上面代码的下一行加入msgbox parameter("output1")可看输出值环境变量1、续上,最好少用,占内存2、工具栏settings(QC工具的左侧)——Environment——可大致看一下built-in,此处选择user-defined——添加,起名为myuser值为when(预期值,此处不能改变输入值)3、对Agent Name参数化,选择环境变量4、RunAction拆分1、Action基础(1)类似于函数(2)可以分组脚本,是一个步骤集2、录制小飞机脱机版(1)录制时首先输入Denver到London,insert(2)对Insert Done插入同步检查点,属性名选择text,属性值输入"Insert Done…"(3)修改London到Denver,update(5)回放(6)参数化:update前的出发地、目的地(7)再加一条Paris到London(共两条用例数据)(8)回放2次,第2次跑不起来,出错了,原因在于录制时的选项,只能回放一次3、Action拆分(1)在前面的用例执行时,登录、插入、更新都会重复执行两次,实际上登录和插入只需要一次,拆分可以解决(2)选择一个分界线,如第1个Flight Reservation,点击工具栏“Split Action”(分界线属于下一个Action)(3)netsed为拆分为父子关系,此处现在第1项(4)输入1st名字为login,描述为登录,2nd为flight,描述为订票(5)双击展开flight,在下面的检查点下面分割为insert和update(6)双击展开update,找到最后一步,分割出close(7)查看Data Table,可见参数表在Global中,另外可见分类的子参数表(8)回放,可见测试包括登录、插入在内完整地走了两遍(在结果中也可以看出来)4、局部参数化(1)上面的例子,参数在Global中,所以对整个测试都是跑两遍(2)修改参数化:把出发地、目的地的参数选项改为Current action sheet(参数会自动复制至此)(3)删除Global表中的列(4)回放,结果显示登录、插入只执行一次,但是更新也只执行了一次,与期望的两次不符(5)定位到Test Flow——右击update——Action Call Properties——Run on all rows(settings管全局)(6)回放,结果显示登录、插入只执行一次,更新执行了两次(7)保存此ActionAction调用1、新建一个测试——回到关键字视图——右击Action Properties——改名如Main,描述main(Reusable表示可以复用,即可被调用)2、菜单“插入”(1)Call to New Action:调用新的Action(2)Call to Copy of Action:调用其他代码,复制一份,作为自己的,点击此项<1>在From Test中选择已经保存的测试<2>在下方的Action中选择login<3>Edit new…表示可以修改代码,此处不选<4>ok(3)点击Main——Call to Existing Action:类似于连接其他代码,这属于调用外部测试<1>在From Test中选择已经保存的测试<2>在下方的Action中选择insert<3>Location选择At the current step(事先点击main才可)<4>ok(4)依照(3)添加update、close(5)Run,看结果,update只允许了一次(6)右击update的Action Call Properties,run all rows(7)再次Run,可见update运行了2次,其他各一次Msgbox1、函数语法(1)调整字体大小<1>Tools菜单——view options(2)Msgbox “消息内容”,按钮类型,标题<1>1:确定和取消<2>16:错误图标<3>32:显示问号<4>48:显示叹号<5>64:显示消息2、锁键盘和鼠标Public sub MsgboxTimeOut(Text,Title,Timeout)Set wshshell=createobject("wscript.shell")wshshell.Popup Text,Timeout,TitleEnd Subsystemutil.BlockInput 'lock mouse and keyboardmsgboxTimeout "hi","STOP",5 '5ssystemutil.UnblockInput描述性编程1、主要用于QTP不识别对象或者能识别但对象并不在对象库中时。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
找出alt=“Mercury” 的对象列表
如果alt=“Mercury” 有多个或不存在,则向下寻找, 直至筛选只剩一个对象
智能标识进程完成后,如ห้องสมุดไป่ตู้QTP仍然不能标识对象,则QTP 将尝试使用录制的描述加上顺序标识符来标识对象。
映射用户定义的测试对象类
• 将QTP无法识别的类或自定义类的对象映射到标准 Windows类。
回放时页面添加了一个 与Login有相同属性的 Image QTP忘记所有属性并开启 Smart Identification
Brower(“MercuryTours”). Page(“Mercury Tours”). Image(“Login”).Click
找出html tag=“IMG” 的对象列表
启用和禁用智能标识
1:仅为具有定义的智能标识配置的测试对象 类启用智能标识机制。 2:如果不录制智能标识属性,则不能在以后 为某个对象启用智能标识机制。 3:恢复所有测试对象的默认对象标识设置。 4:为对象标识设置生成自动脚本。
配置智能标识
基本筛选器属性 可选筛选器属性
智能标识的进程:
1:QTP“忘记”录制的测试对象描述,创建一个新的候选对象列表,该列表包含与基本筛 选器属性列表中定义的所有属性匹配的对象。 2:在该对象列表中,QTP筛选任何与“可选筛选器 属性”列表中列出的第一个属性不匹 配的对象。其余对象成为新的候选对象列表。 3:QTP计算新的候选对象列表: 如果新的候选对象表仍然有多个对象,QTP将使用新的(列小的候选对象列表中的下一 个可选筛选器属性重复步骤2) 如果新的候选对象为空,QTP将忽略该可选筛选器属性,返回以前的候选者列表,对列 表中的下一个可可选筛选器属性重复步骤2。 如果候选对象列表中只包含一个对象,那么QTP认为它已标识该对象并执行包含该对象 的语句。 4:QTP继续在步骤2和3中描述的进程,直到它标识一个对象,或者没有可选筛选器属性 可用。
2.加强测试脚本
• 2.1建立检查点 • 2.2参数化脚本 • 2.3建立输出值
2.1建立检查点
• 检查点:是将指定属性的当前值与该属性 的期望值相比较的验证点。
• 检查点类型:
标准检查点 图片检查点 表格检查点 网页检查点 文字/文字区域检查点 图像检查点 数据库检查点 Accessibility检查点 XML检查点
Mercury QuickTest Professional 9.0
教程
1.QTP简介
1.1 自动化测试的好处: • 快速(Fast) • 可靠(Reliable) • 可重复(Repeatable) • 可程序化(Programmable) • 广泛的(Comprehensive)
手工与自动测试效率的比较
描述性编程
• 此外,还可以使用description对象。使用 Description 对象可以返回包含 一组 Property 对象的 Properties 集合对象。Property 对象由属性名和值 组成。然后,可以在语句中指定用返回的 Properties 集合代替对象名。 (每个 property 对象都包含一个属性名和值)。要创建 Properties 集合, 可以使用以下语法输入 Description.Create 语句: • Set MyDescription = Description.Create() • 例如前面的例子,使用description对象就变成: • Set bs_Title= Description.Create() • Set pageTitle= Description.Create() • bs_Title(“title”).value=”XXX- Microsoft Internet Explorer” • pageTitle(“title”).value=”YYY” • Browser(bs_Title).Page(pageTitle).Link(“text:=”&DataTable(“客户 编号”,dtLocalSheet)).Click • 当然bs_Title和pageTitle这两个对象中可以存放多个Key和其对应的Value。
3 配置值
• 配置值:将值定义为常量或参数来配置属 性和其他项目的值。也可以在值中使用正 则表达式,以提高测试和组件的灵活性与 适应性。
4 虚拟对象
• 虚拟对象:指示QTP将任何区域识别成一 个对象。 • 注意事项:
• 录制和运行测试或组件时,网页或应用程序窗口的大小和 位置必须和定义虚拟对象时的大小和位置相同。 • 不能在虚拟对象上插入任何检查点,也不能使用“对象探 测器”来查看其属性。 • 注意父类层次的选择。 • 如何录制时禁用虚拟对象。
5.3 描述性编程
• 通常情况下,当在录制一个操作时,QTP会将被操作对象加入到对象 库里(Object Repository)。一旦对象存在于对象库里,我们就可 以在专家视图里通过添加相关的对象方法来对该对象进行操作。我们 可以通过引用层次型对象库里的对象描述(Object Description)来 添加相应的方法。 • 因为QTP对象库中的每个对象都具有唯一名称,所以在引用时对象名 是必须需要指定的。然后在测试运行期间,QTP在对象库中根据这个 对象的名称和父对象来查找对象,并使用为这个测试对象存储的测试 对象描述,在网站或应用程序中标识该对象。 • 描述性编程,简单的来说,就是在专家视图中,手动编写脚本,对某 个对象执行某种操作。譬如,在用户名的输入框中输入“123”,用 户名的输入框的在该页面的标识是loginno,其类型为WebEdit,对此 输入框执行的是set一个值“123”,所以生成的脚本如下: • WebEdit(“loginno”).set “123”
5 QTP进阶
QTP对象识别机制 关键字驱动测试 描述性编程
5.1 QTP的对象识别机制
• 关于配置对象标识:
• 强制属性(Mandatory Properties):
QTP对于特定测试对象类始终要记住的那些属性。
• 辅助属性(Assistive Properties):
只有在以下情况下QTP要记住的那些属性,即QTP针对 应用程序中的特定对象记住的强制属性不足以创建唯一描 述。如果为一个对象类定义了几个辅助属性,那么QTP每 次记住一个辅助属性,并在其为该对象创建了唯一属性后 立即停止。
5.2 关键字驱动测试
• 关键字驱动或者称为关键词驱动(Keyword- Driven),是为了解决通过录制的方法来产生脚 本的问题。就是先把所有需要的Web对象都添加 到对象库中,然后在关键字视图中手动添加测试 步骤,这样就是一个设计脚本的工作,可视化程 度非常高,非常直观。 • 这中方法的缺点有: 如果不手动添加脚本,仍然只能实现简单的测试 任务。
1.2 QTP测试流程
• 录制脚本前的准备 • 录制测试脚本 • 加强测试脚本 • 对测试脚本除错(debug) • 在新版应用程序执行测试脚本 • 检查测试结果 • 回报缺陷
1.2.1录制前的准备
• 取消IE的自动完成设定 • 关闭所有浏览器窗口 • 加载Web add-in • 检查Active Screen录制级别 • Recording>Record and Run Settings Web tab中选择第二项 • (演示一:录制Mercury范例网站脚本)
序号标识符的类型-位置
• 位置-指示该对象在父窗口、框架或对话框 中相对于其它对象的显示顺序。
序号标识符的类型-CreationTime
• CreationTime-(仅限于浏览器对象)该值指示浏览器打 开的顺序-相对于其它描述都相同的其他打开的浏览器。 问题:
1:顺序打开几个浏览器,并关掉其中几个, CreationTime的值如何变化? 2:如果在CreationTime=6的浏览器上回放步骤,但具 有该CreationTime值的浏览器没有打开,那么该步骤会 不会由于找不到CreationTime=6的浏览器而失败?
• 注意:无法识别的对象应仅映射到带有兼容行为的标准 Windows类。例如,不要将行为与按钮类似的对象映射 到编辑类。
QTP的对象识别机制
在关键字视图和专家视图中分别显示为:
•Browser("iTreasuryPro资金管理平台").Page("iTreasuryPro资金管理平台").WebButton("提交").Click
描述性编程
• 例如,在页面上点击一个客户编号的超链接,形成的脚本 如下:
• • • • Dim bs_Title,pageTitle bs_Title=”XXX- Microsoft Internet Explorer” pageTitle=”YYY” Browser(“Title:=”&bs_Title).Page(“title:=”&pageTitle).Link( “text:=”&DataTable(“客户编号”,dtLocalSheet)).Click
5.1.1定义对象识别
如何配置属性
注意:不能将同一属性既放 在强制属性中,又放在辅助 属性中。
提示:可以使用 attribute/<属性名>标 记向Web对象添加属性名。
选择序号标识符
选择序号标识符
• 序号标识符为对象指定一个数字值
该数字批示该对象相对于其他具有相同描述 的对象(对于强制属性列表和辅助属性列表中指 定的所有属性都具有相同描述的对象)的顺序。 在强制和辅助属性不足以创建唯一描述时, QTP可以通过该顺序创建唯一的描述。
2.2参数化脚本
• 参数化:通过将固定值替换为参数,扩展 基本测试或组件的范围 • 参数化类型:
测试或操作组件参数 数据表参数 环境变量参数 随机数字参数
2.3建立输出值
• 输出值:检索测试或组件中的值,并将这 些值作为输出值存储。 • 输出值类别: