QTP10-02检查点-DataTable-输出值

(一)检查点(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.参数化时可以选择已有的参数实现数据的复用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容