(一)检查点(CheckPoint)
一、为什么要插入检查点
需要检查预期结果是否正确,来验证被测系统功能是否正常
二、什么是检查点
在自动化脚本中插入预期结果,
运行回放时,QTP取得被测系统运行时实际数据结果,
和预期结果对比,如果一致,在测试结果结果报告中,添加一个Passed的结果步骤,
否则,添加一个Failed的结果步骤
三、检查点的类型
1.标准检查点:对象的属性值
2.位图检查点:把AUT的某个区域捕获成位图,对位图进行检查
3.文本检查点:检查文本信息是否正确实现
文本区域检查点:检查文本信息有没有在指定的区域显示
4.表检查点:检查表格的单元格内容
5.图像检查点:检查图像的属性
6.数据库检查点、页面检查点、XML检查点、可访问性检查点
3.1标准检查点
1.作用:检查对象的属性值
2.录制时插入检查点:
(1)确定检查的对象
(2)确定检查对象的属性名称,使用Object Spy工具(小人头工具)
(3)确定插入检查点的位置(哪个步骤之后)
(4)开始录制,录制过程中插入检查点,具体步骤如下:
a.到(3)的步骤之后,点击菜单栏中Insert(插入)\CheckPoint(检查点)\Standard CheckPoint(标准检查点)
b.点击要操作的对象
c.确定对象
d.在CheckPoint Property(检查点属性)对话框中勾选(2)确定要检查的属性,点击属性,Config Value(值设置),选择Constant(常量),输入预期数据结果,确定
练习1:Flight系统,登录后,检查Flights按钮为不可用,输入订票信息后,检查Flights按钮可用
3.录制结束后插入检查点
(1)关键字视图中插入检查点
限制:检查对象必须属于当前的某个操作步骤
步骤:选中检查对象的操作步骤,Insert\CheckPoint\Standard Checkpoint
注意:检查点插入的位置,当前步骤之前\后
(2)通过ActiveScreen插入检查点
限制:检查对象必须在ActiveScreen中存在
步骤:相应对象上右键\Insert Standard Checkpoint
注意:检查点插入的位置,当前步骤之前\后
3.2位图检查点
1.位图检查点:主要用于检查页面UI是否和原来一致
2.步骤:
(1)确定检查的对象
(2)确定检查点插入的位置
(3)录制过程中,
a.Insert\CheckPoint\BitMap CheckPoint
b.点击要检查的对象
c.在(CheckPoint Property)检查点属性对话框中,
确定检查的范围:整张图,区域检查
补充:运行结果报告中想任何时候都能看到 检查点有预期图片和实际图片,设置办法
-----Tools/Options/Run-ScreenCapture--勾选Save still image....选择always
注意:如果检查的位图不是方形,只能选择检查区域(而不能选择检查整张图),因为,如果位图检查点只能 检查方形的区域,
如果检查的图片不是方形图,需要选择指定区域来检查Check only selected area(检查指定区域)
如果检查对象非方形区域,需要勾选部分区域进行检查,不能检查整张图
练习2:使用位图检查点检查Flight4a系统登录页面的图片是否正确,
登录后,再检查主页面的图片是否正确,打开打开订单页面,再检查打开订单页面的图片显示是否正确
练习3:Flight3a,使用位图检查点,检查登录后的订票主页面的Window,
回放,再切换被测系统为Flight4a,回放
3.3文本检查点
作用:检查指定文本是否出现
步骤:
(1)确定插入检查点的位置(步骤位置)
(2)确定检查的文本内容
(3)录制过程中,Insert\CheckPoint\Text Checkpoint
(4)回放,查看结果报告
文本区域检查点
作用:检查在指定区域内是否显示指定文本
Insert\CheckPoint\Text Area Checkpoint
文本检查点和文本区域检查点的区别:
(1)检查的范围不同:文本检查点检查对象的文本内容,
文本区域检查点检查在指定区域内的文本内容
(2)检查的对象不同:文本检查点检查文本本身对象,一般为Static对象,
文本区域检查点文本区域的对象,一般为Static对象的父对象
练习4:Flight登录页面,输入AgentName少于4位的提示
练习5:Flight打开订单,输入不存在的订单号的提示
四、检查点失败的原因
测试代码的问题
(1)检查点插入的位置
(2)Timeout时间
File/Settings--Run--Object synchronization xxxxx secondes;默认20秒
AUT的问题
(3)需求变动
(4)bug
(二)DataTable
1、为什么需要做DataTable参数化
相同的业务流程,不同的只是测试数据不同
实现业务和数据的分离,方便维护代码和数据
2、什么是DataTable参数化
用DataTable的一组数据表代替脚本中(Value列中)的数据常量,让测试脚本重复执行,
每执行一次,从Datatable中取一行数据,重复的次数由数据表中的数据行数决定,
每进行一次重复执行脚本代码,称为一个“反复”,或者“迭代”,英文Iteration
3、DataTable参数化的步骤(重点)
1.确定要参数化的数据
2.录制测试步骤,只录制一组数据的步骤
3.做参数化,两种方式
(1)先定位要参数化的数据,再创建DataTable参数。具体如下:
a.点击要参数化的数据的Value列的<#>按钮
b.在Value Configuration options(值配置选项)对话框中,
选择“Parameter”(参数)单选按钮,默认参数类型DataTable(数据表)
c.在Name中输入参数名称,
Location in DataTable(在DataTable中的位置)
用默认Global Sheet(全局表单),OK
(2)先创建DataTable参数,再定位参数化的数据
具体如下:
a.在DataTable的Global表单中,点击某一列的标题,输入参数名称,OK
b.点击要参数化的数据的Value列的<#>按钮
c.选择“Parameter”(参数)单选按钮
c.在Name中选择在a步骤中创建的参数名称,OK
4.在DataTable中准备数据
5.设置循环次数:File\Settings\Run\DataTable Iterations
(1)Run one iteration only(只运行一次)
(2)Run on all rows(运行全部行)
(3)Run from row [m] to [n](从第m行到第n行运行)
4.DataTable数据的操作
(1)修改参数名称:双击参数名称,修改
(2)增加1个新的参数:双击空白列的列头
(3)如果数据是以0开头,前面加上单引号(‘)半角的单引号
(4)删除参数:参数名称右键,选择Edit\Delete
(5)删除一行数据:选中行,右键,选择Edit\Delete
(6)移动列:右键\Edit\Cut,右键\Edit\Paste,不要的列上右键\Edit\Delete
5、DataTable参数化注意点(重点)
1.在代码的开始和结束,被测系统要处于相同的状态
2.对一个数据做参数化,受影响的其他数据也要做参数化
练习6:手动启动的方式录制Flight系统登录和退出的代码,把AgentName做参数化,准备两行数据
练习7:自动启动的方式Mtours系统登录退出的代码,把用户名和密码做参数化,准备3行数据
练习8:Flight系统,录制登录-订票-退出,把订票信息的起飞日期,起飞城市,到达城市做DataTable参数化
提示:以0开头的数据,前面加半角单引号
注意:删除数据行,行点击右键\Edit\Delete
6、检查点的参数化
步骤:
(1)参照插入一般检查点的步骤
(2)在CheckPoint Properties(检查点属性)对话框中,不选择Constant(常量),选择Parameter(参数)
(3)指定一个DataTable中的参数
练习4:
a.两位数加法器,自动启动,
b.对两个加数做Action参数化
c.对计算结果做标准检查点
7、DataTable中Sheet表單的分類
Global Sheet
1.是針對整個腳本的
2.如果指定Global Sheet中的數據作為參數化數據,那麼將應用到整個腳本,即整個腳本執行多次反復
Action Sheet
1.是針對1個Action的,創建1個Action,在DataTable中就會增加1個相應的sheet
2.如果指定Action Sheet中的數據作為參數化數據,則只有相應的Action執行多次反復
(三)建立输出值(OutputValue)
一、建立输出值
1.为什么建立输出值
关心运行时系统实际运行数据,这些数据用于后续的业务流程
2.什么是输出值\输出值类型
把系统实际运行时数据输出,叫做建立输出值
输出值类型:
标准输出值、
文本输出值、
数据库输出值、
XML输出值
3.建立 标准 输出值
(1)作用:输出运行时被测系统中的对象的实际属性值
(2)步骤:
a.确定操作的对象
b.确定输出对象的属性名称
c.确定建立输出值的位置
d.录制代码过程中,
Insert\Output Value(输出值)\Standard output value(标准输出值)
e.在弹出的OutputValue Properties(输出值属性)界面,选择相应属性
f.选择输出值输出的位置,DataTable...OK
g.运行代码,到测试结果报告的Run-time DataTable(运行时数据表)中查看输出值
4.建立 文本/文本区域 输出值
练习1:Flight,订票后输出新订单号到数据表
其他补充知识点:
1.wait 3 ----等待3秒
在需要等待的步骤后,添加语句wait
如:Flight登录之后,Insert Order点击之后
(三)补录
补充知识点:
1.代码的补录:增加一系列步骤
步骤:
(1)确认补录的位置和内容
(2)把被测系统
改为手动启动
(打开代码,Automation\Record and Run settings(录制和运行设置),选择手动启动的方式)
关键字视图中,定位到要补录代码的前一个步骤
(3)光标停留在补录代码的位置
(4)被测系统打开,
停留在要补录的状态
(5)点击“Record”开始补录步骤
(6)点击“Stop”结束补录
(7)修改启动方式为原来的启动方式
(打开代码,Automation\Record and Run settings(录制和运行设置),选择自动启动的方式)
注意:补录的步骤开始和结束和现有步骤衔接正常
2.代码的补录:增加一系列步骤
步骤:
(1)确认补录的位置和内容
(2)把被测系统改为手动启动
(3)光标停留在补录代码的位置
(4)被测系统打开,停留在要补录的状态
(5)点击“Record”开始补录步骤
(6)点击“Stop”结束补录
(7)修改启动方式为原来的启动方式
注意:补录的步骤开始和结束和现有步骤衔接正常
2.参数化时可以选择已有的参数实现数据的复用