文档章节

QTP(4)

o
 osc_xv7zq561
发布于 2018/03/24 22:59
字数 2234
阅读 7
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

一、常见回放错误
  1、The "XXX" XXX object was not found in the Object Repository.(在对象库中未找到对象)
    ......not found......
    方法三:通过Active Screen添加对象
      a.在代码中定位一个步骤,要求能够在Active Screen(截图视图)中显示出待添加的对象
      b.在Active Screen中选中要添加的对象,右击选择View / Add Objects(查看/添加对象)
      c.在Object Properties中点击"Add to Repository"(添加到对象库)按钮
      d.如果要在对象库中查看添加的对象,就点击View in Repository按钮
      e.如果要对对象进行操作,就切换到Keyword View关键字视图中:
        --找到需要添加的位置的上一个对象
        --右击上个对象,选择Insert new step(插入新的步骤)选项,选择要操作的对象(刚添加到对象库中的对象)
        --如果操作的对象需要参数,就在Value列中输入参数 

          Blue Skies Airlines$40$108$5:03 pm$;
          Blue Skies Airlines$41$127$7:07 pm$;
          Pangea Airlines$42$136$9:11 pm$;
          Unified Airlines$43$155$11:15 pm$

 

      练习1:Flight4a
        要求:a.录制Flight4a的购票业务流程(手动启动)
        Test4001_Flight4a_添加航班对象

Window("Flight Reservation").Move 421,140
Window("Flight Reservation").ActiveX("MaskEdBox").Type "111119"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "13584   FRA   08:00 AM   LON   08:45 AM   SR     $162.30"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "mercury"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").WinButton("Button").Click

      练习2:Mtours
        要求:

          a.录制Mtours系统的登录+购票+退出业务(录制时使用默认的数据,只需要填写First Name 、Last Name、Number)
          b.注意:Mtours是web系统
            a.启动服务
            b.选择web插件
        Test4002_Mtours_添加对象
          录制步骤:
            1 输入用户名:mercury
            2 输入密码:123
            3 点击"Sign-In"按钮
              选择起飞城市:London
              选择到达城市:Paris
            4 点击"Continue"按钮

            TM
              登录-选择商品-添加购物车-结算-付款-查看订单-退出
              登录
              选择商品
              添加购物车

              if 是结算
                付款
              else
                调用结算代码

 

  2、......match......
    原因:QTP对象库中的对象属性无法匹配被测系统上的一个对象
    具体是什么原因导致的
      (1)由于版本升级,被测系统的对象进行了修改
        解决方案:
          a.把升级后的版本中的对象添加到对象库中
          b.再把代码修改为新的对象
      (2)被测系统未打开
        a.360杀毒软件阻止了
        b.检查Record and Run Settings是否设置正确
        d.代码的第一行是否为SystemUtil.Run
      (3)被测系统打开了多个
        a.运行前没有关闭已经打开的被测系统
        b.Record and Run Settings中指定了多个路径
      (4)被测系统的界面不对,代码的顺序不对

 

二、QTP的原理简化
  1、录制:封装对象(TO)、记录脚本
    (1)获取操作的控件对象的所有属性
    (2)使用唯一的名称封装到对象库中
    (3)存储所有的属性
    (4)标记关键属性
    (5)在代码中记录测试对象、操作、使用的数据


  2、回放:识别对象(RO)、操作对象
    (1)获取Item列中的对象名称
    (2)到对象库中找到该名称的对象
    (3)使用对象库中的对象关键属性与被测系统中的对象对比,识别出该对象
    (4)按照脚本来操作该对象

 

  3、TO:Test Object,对象库中的对象,可以修改也可以查看


  4、RO:Run time Object,运行时对象,只能查看不能修改

 

三、Object Spy
  1、对象探测器,可以查看对象的属性以及属性值


  2、使用方法:
    a.打开Object Spy(Tools->Object Spy)
    b.打开被测系统,显示出要操作的RO
    c.点击Object Spy上的手型按钮,使用手型鼠标点击RO,就可以查看RO的属性
    注意:如果RO被遮挡,就按住Ctrl把RO操作显示出来,再释放Ctrl键


四、检查点
  1、应用场景:对测试用例中的预期结果进行检查,从而验证被测系统的功能是否正确


  2、QTP实现检查点的原理:
    1) 录制时:把预期数据放在测试代码的合适位置,生成一句检查点的代码
    2) 回放时:QTP自动捕获被测系统生成的实际数据,和代码中的预期数据对比,对比一致,在结果报告中记录Passed,反之记录Failed


  3、检查的分类
    (1)标准检查点:检查对象的属性值是否正确
    (2)位图检查点:检查对象的UI界面,颜色、大小、像素....
    (3)文本检查点:检查本文对象
    (4)文本区域检查点:对指定区域内的文本进行检查
    (5)表检查点
    (6)XML检查点
    (7)数据库检查点......

    两位数加法器的测试步骤:
      a.打开被测系统
      b.输入第一个数:29
      c.输入第二个数:9
      d.点击"计算"按钮
        检查点:
          对象:结果框
          属性:Text
          预期值:38
      e.退出系统


  4、标准检查点(Standard Checkpoint) 重点
    (1)作用:检查RO的属性值是否与预期值一致
    (2)确定标准检查点的要素:
      a.确定检查的控件对象
      b.确定属性名称
      c.确定预期值
      d.确定检查点的位置
      e.确定检查点的超时时间
    (3)插入标准检查点的步骤:
      方式一:在录制时插入
        a.录制时操作到需要添加检查点的步骤
        b.点击QTP菜单栏Insert->Checkpoint->Standard Checkpoint
        c.使用手型鼠标点击需要检查的对象
        d.在弹出的Object Selection中选择对象,确定
        e.在弹出的Checkpoint Properties(检查点属性)对话框中设置属性:
          -- 勾选要检查的属性
          -- 填写预期结果
          -- 设置超时时间
          -- 确定
    (4)常用的属性:
      1) text :记录控件中的文本
      2) enabled:记录控件是否可用,True:代表可用,False:代表不可用
      3) checked:记录复选框或单选按钮是否处于选中的状态,ON:代表选中,OFF:代表未选中
      4) items count:记录控件选项的个数(下拉框、列表、按钮组)
      5) all items:记录控件中的每个选项
      6) selection:记录被选中的值
      7) visible:记录控件是否显示

      练习3:两位数加法器
        要求:

          a.录制两位数加法器的加法过程
          b.验证计算结果是否正确
        确定要素:
          a.确定检查的控件对象:结果框
          b.确定属性名称:text
          c.确定预期值:38
          d.确定检查点的位置:点击计算
          e.确定检查点的超时时间:不需要
        Test4003_两位数加法器_标准检查点

VbWindow("Form1").VbEdit("Text1").Set "-66"
VbWindow("Form1").VbEdit("Text2").Set "9"
VbWindow("Form1").VbButton("计算(J)").Click
VbWindow("Form1").VbEdit("Text3").Check CheckPoint("Text3")
VbWindow("Form1").Close

      练习4:计算器
        要求:

          a.录制计算器的计算过程
          b.验证计算结果是否正确

        Test4004_计算器_标准检查点

Window("计算器").WinButton("5").Click
Window("计算器").WinButton("+").Click
Window("计算器").WinButton("6").Click
Window("计算器").WinButton("=").Click
Window("计算器").WinEdit("Edit").Check CheckPoint("Edit")
Window("计算器").Close

      练习5:Flight4a
        要求:

          a.录制Flight4a登录+退出业务
          b.验证登录是否成功
        Test4005_Flight4a_标准检查点_验证登录是否成功

Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "123456"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
Window("Flight Reservation").Close

      练习6:Flight4a
        要求:

          a.录制Flight4a登录+购票+打开订单+退出业务
          b.验证购票是否成功
          c.验证打开订单是否成功

        Test4006_Flight4a_标准检查点_验证购票+打开订单是否成功

Dialog("Login").WinEdit("Agent Name:").Set "abcd"
Dialog("Login").WinEdit("Password:").SetSecure "5a548dbbe32dd50b8d06f0a3a3fc7a2bb35d054a"
Dialog("Login").WinButton("OK").Click
wait 6
Window("Flight Reservation").ActiveX("MaskEdBox").Type "111119"
Window("Flight Reservation").WinComboBox("Fly From:").Check CheckPoint("Fly From:")
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Check CheckPoint("Fly To:")
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "13596   FRA   03:12 PM   LON   03:57 PM   SR     $160.00"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "abcd"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").ActiveX("Threed Panel Control").Check CheckPoint("Threed Panel Control")
Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "10"
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Order No:").Check CheckPoint("Order No:")
Window("Flight Reservation").Close

      练习7:Flight4a
        要求:

          a.录制Flight4a系统的登录+购票+退出业务
          b.登录后验证Flights按钮为不可用状态
          c.输入日期、起飞城市、到达城市后验证Flights按钮为可用状态
          d.点击Insert Order按钮后,验证First、Economy舱位是否被选中

上一篇: QTP(5)
下一篇: QTP(7)
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch

上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...

强子哥哥
2014/06/26
712
0
你懂自动化测试吗?

自动化测试:自动化测试的一个很重要的目的就是提高测试效率,并且快速的反馈质量。但是各个领域的自动化还是有一些区别的,比如:web自动化和移动端自动化。而对于自动化来说,首先还是要去...

白一客
2017/04/14
275
1
Web功能测试的4种类型

1页面链接测试 页面的链接是使用户从一个页面浏览到另外一个页面的重要手段,在做页面链接测试的时候,需要验证两个问题: · 该页面是否存在,如页面不能显示信息,则视为页面链接无效。引起...

白一客
2017/05/26
134
0
4单元开发案例。急,急,急

javaEE,就业冲刺,急,急,希望大神帮帮我,把代码发给我,万分感谢852752023@qq.com

calvi
2015/10/06
5
0
springboot 学习笔记【4】Spring Boot构建RESTful API

接上一篇 springboot 学习笔记【3】Spring Boot中使用Spring-data-jpa***Restful使用的范围越来越广,下面尝试使用Restful接口来操作数据库。 Restful接口设计如下: 请求类型 URL 功能说明 ...

shane_zhou
2016/11/02
674
0

没有更多内容

加载失败,请刷新页面

加载更多

Trends期刊8月中国论文合辑

作为Cell Press细胞出版社旗下的权威综述月刊,Trends系列旨在为科学家们提供具有权威性且易于理解的科研趋势。其16本Trends期刊涵盖生命科学和化学的不同领域。 为了让大家对于Trends期刊有...

科研菌
昨天
0
0
C语言哈希表uthash的使用方法详解(附下载链接)

工科生一枚,热衷于底层技术开发,有强烈的好奇心,感兴趣内容包括单片机,嵌入式Linux,Uboot等,欢迎学习交流! 爱好跑步,打篮球,睡觉。 欢迎加我QQ1500836631(备注CSDN),一起学习交流...

osc_h7zc4umy
19分钟前
7
0
CGB2004-京淘项目Day08

1.实现图片回显 1.1准备虚拟路径 1.1.1 编辑image.properties 说明:在jt-manager中创建image.properties文件,在其中编辑关于图片配置的所有信息. 1.1.2 编辑FileServiceImpl 说明:实现虚拟路...

osc_gp8avabl
20分钟前
5
0
C++核心准则​E.28:避免基于全局状态的错误处理(例如errno)

蜀葵 E.28: Avoid error handling based on global state (e.g. errno) E.28:避免基于全局状态的错误处理(例如errno) Reason(原因) Global state is hard to manage and it is easy to for......

面向对象思考
今天
9
0
网易2020校招笔试- 大数据开发工程师(正式批)

目录 一、翻倍 方法一:暴力 方法二:递归 二、跳柱子 方法一:暴力,寻找能到达的最高柱子,方便我下次跳 方法二:动态规划dp 三、人数统计 方法:哈希表 四、积木 方法 如果你从本文中学习...

osc_8kei32r9
21分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部