注意:
  在使用QTP录制代码时,能使用鼠标点击的就不要使用键盘操作,能单击的操作就不要使用双击

一、QTP的工作流程
  1、录制测试脚本前的准备:
    a.分析被测系统是否可以实现自动化测试
    b.分析被测系统是否能与当前QTP的版本兼容
    c.熟悉被测系统,确认哪些功能点需要进行测试

  2、录制测试脚本
    a.使用QTP录制测试脚本,QTP会记录测试人员对被测系统执行的操作,在keyword View关键字视图中形成测试步骤,在Expert View专家视图中形成测试代码
      测试人员对被测系统执行的操作:按照测试用例去执行

  3、增强测试脚本
    a.添加检查点:让QTP执行操作步骤后,检查被测系统的状态是否正确
    b.实现参数化:让QTP执行操作步骤时使用不同的数据
    c.添加控制流程语句
    d.实现对Action之间的调用
    e.编写更复杂的脚本
  4、对测试脚本进行调试,可以使用Debug功能

  5、执行测试脚本,QTP会验证被测系统的正确性(测试程序有没有缺陷)

  6、分析测试结果、编写测试报告

二、使用QTP测试Flight系统
  1、熟悉Flight被测系统
    (1)Flight系统介绍
      1) Flgith系统是标准的Windows程序,测试时选择ActiveX插件
      2) Flight 系统是一个飞机订票系统,分为3个版本,开始程序中打开的是Flight4a(稳定版)
      3) 启动路径:C:\Program Files\HP\QuickTest Professional\samples\flight\app\Flight4a.exe
      4) Flight4a系统的功能介绍
        登录功能:
          Agent Name: 用户名(4-10位字符)
          Password: 密码(mercury MERCURY)
          OK 确认登录
          Cancel 关闭
          Help 帮助,可以查看密码
        购票功能:
          Date of flight 出发日期(格式mm/dd/yy 月/日/年),必须是未来的日期,大于今天
          Fly From 出发城市
          Fly To 到达城市
          Flights按钮,可以选择航班
          Name 乘客姓名
          Tickets 票数(1-10的数字)
          Class 席别(First头等舱、Business商务舱、Economy经济舱)
          insert Order 按钮,插入订单,确定购票,当进度条执行完,会显示Insert Done...文本,表示购票成功,在Order No.输入框中显示订单号
          注意:购票一张票后,如果要继续购票另外一张,需要清空订单
          27 28 29
        打开订单功能:
          Open Order 打开订单,查看订单的信息
          Customer Name 顾客姓名
          Flight Date 出发日期
          Order No 订单号
        发送传真功能:
          File-->Fax Order...
          Fax Number 传真号
          Send 发送
          发送成功,在进度条上显示 Fax sent successfully...

  2、录制测试脚本
    (1)启动被测系统的方式
      方式一:自动启动(给QTP指定被测系统的路径,让QTP去启动被测系统)
      1) 自动启动Windows程序
      2) 自动启动windows程序的步骤:
        a.录制前和回放前需要关闭:
          --被测系统
          --防毒软件,如360
          --翻译类软件,如有道
        b.启动QTP选择对应的插件,新建一个脚本
        c.点击Record(录制)按钮,设置Record and Run Settings(录制和回放设置)
          --选择Windows Applications选项卡
          --选择Record and run only on(只运行和回放)单选按钮
          --勾选Applications opened by Quick Test(被QTP打开的程序)
          --勾选Applications secified below(指定被测程序路径)
          --点击绿色"+"
          --在Application文本框输入被测系统的地址,确定
        d.根据测试用例步骤操作被测系统
        e.点击"Stop"按钮,停止录制
        f.保存代码后点击"Run"按钮,运行脚本
    3) 自动启动web程序
    4) 自动启动web程序的步骤

    练习1:Flight4a
      要求:a.使用自动启动方式录制Flight4a登录+退出业务流程
      测试用例:
        a.打开Flight4a系统
        b.输入用户名:mercury
        c.输入密码:mercury
        d.点击"OK" 按钮
        e.退出Flight4a系统

      Test2001_Flight4a_自动启动录制登录

(VBS脚本)
Dialog("Login").WinEdit("Agent Name:").Set "1234"
Dialog("Login").WinEdit("Password:").SetSecure "5a4ef3a186fd66cd8b570982a6817ea6a5da36c3"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close

    练习2:记事本(录制和回放前都把记事本关了)
      要求:a.使用自动启动的方式录制记事本程序
      测试用例:
        a.打开被测系统(QTP 给打开)
        b.在记事本中输入 abcd
        c.关闭记事本
        d.在提示信息上点击"否"
        记事本的启动路径:C:\WINDOWS\system32\notepad.exe

        Test2002_记事本_编辑内容

(VBS脚本)
Window("记事本").WinEditor("Edit").Type "记事本"
Window("记事本").Close
Window("记事本").Dialog("记事本").WinButton("否(N)").Click

        注意:
          如果运行代码时,提示:Cannot found "XXX" object's parent.......信息
        原因:

          a.当前打开了多个被测系统
          b.当前没有打开被测系统

        方式二:手动启动被测系统,测试人员在录制时自己启动被测系统,QTP会记录启动的操作,在代码中形成启动被测系统的代码SystemUtil.Run "被测系统的路径"

          C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples

          1) 手动启动Windows程序
          2) 手动启动Windows程序的步骤:
            a.录制前和回放前关闭:
              --被测系统
              --防毒软件
              --翻译软件
            b.启动QTP,选择对应的插件,新建一个脚本
            c.点击Record按钮,开始录制,设置Record and Run Settings(录制和回放设置)
              --选择Windows Applications选项卡
              --选择Record and run test on any open Windows-based application(录制和回放任何打开的windows程序)单选按钮,确定
            d.按照测试用例的步骤操作被测系统,录制代码,不要做多余的操作
            e.点击"Stop"按钮停止录制,保存脚本,并且检查脚本的第一句代码是否为SystemUtil.Run "被测系统路径",如果不是,需要删除SystemUtil.Run之前的代码
            f.运行代码,检查结果

    练习3:Flight4a
      要求:使用手动启动方式录制Flight4a登录+退出业务流程
      测试用例:
        a.打开被测系统(测试人员打开)
        b.输入用户名:Jack
        c.输入密码:mercury
        d.点击"OK"按钮
        e.退出被测系统
      Test2003_Flight4a_手动启动录制登录

(VBS脚本)
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "Jack"
Dialog("Login").WinEdit("Password:").SetSecure "5a4f1e4da5fca28814d3a720f1597a7e92f44175"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close

    练习4:两位数加法器
      要求:a.使用手动启动方式录制两位数加法器
      测试用例:
        a.打开被测系统(测试人员打开)
        b.输入第一个数:28
        c.输入第二个数:72
        d.点击"计算(J)"按钮
        e.关闭被测系统

      Test2004_两位数加法器_手动启动录制加法

(VBS脚本)
SystemUtil.Run "D:\两位数加法器V2.exe","","D:\","open"
VbWindow("Form1").VbEdit("Text1").Set "28"
VbWindow("Form1").VbEdit("Text2").Set "72"
VbWindow("Form1").VbButton("计算(J)").Click
VbWindow("Form1").Close

    练习5:计算器
      要求:a.使用手动启动录制计算器的计算过程
      测试用例:
        a.打开被测系统(测试人员打开)
        b.点击按钮"9"
        c.点击按钮"2"
        d.点击按钮"+"
        e.点击按钮"3"
        f.点击按钮"7"
        g.点击按钮"="
        h.关闭被测系统

        Test2005_计算器_手动启动录制计算

(VBS脚本)
SystemUtil.Run "C:\WINDOWS\system32\calc.exe","","C:\WINDOWS\system32","open"
Window("计算器").WinButton("9").Click
Window("计算器").WinButton("2").Click
Window("计算器").WinButton("+").Click
Window("计算器").WinButton("3").Click
Window("计算器").WinButton("7").Click
Window("计算器").WinButton("=").Click
Window("计算器").Close

    练习6:Flight4a
      要求:录制Flight4a的购票业务流程
      测试用例:
        a.输入日期:111119
        b.选择起飞城市:Denver
        c.选择到达城市:London
        d.点击"Flights"按钮
        e.选择第二个航班
        f.点击"OK"按钮
        g.输入顾客姓名:Rose
        h.输入票数:3
        i.选择舱位:First
        j.点击"Insert Order"按钮

QTP(2)的更多相关文章

  1. QTP(16)

    一.QTP项目(ECShop) 1.ECShop是一个开源免费的一个B2C的电子商务系统,主要用于商家和顾客进行商品交易操作. 2.ECShop分为前台和后台两个子系统: (1)ECShop前台:顾客 ...

  2. QTP(14)

    练习1.Flight4a 要求: a.录制Flight4a登录+退出业务流程 b.使用自定义检查结合Exist属性验证登录是否成功 c.为用户名实现参数化 用户名 Jack 正确 Rose 正确 12 ...

  3. QTP(13)

    练习1:Flight4a 要求: a.录制Flight4a登录+购票+退出业务流程 b.实现登录1次,购票3次,退出1次 c.对Fly From.Fly to.航班实现随机参数化 随机参数化:Rand ...

  4. QTP(12)

    练习:录制两位数加法器加法计算后退出的步骤,对两个加数做随机数参数化,随机数范围是0-50,在计算后获得被测系统计算的结果,判断如果结果等于100,msgbox提示“满分”,如果结果在80和99之间, ...

  5. QTP(10)

    一.VBS语言基础 1.运算符和表达式 (1)运算符 (2)表达式 a.数学表达式:由算术运算符连接,计算结果为数字 b.字符串表达式:由字符串连接符连接,计算结果为字符串 c.条件表达式:由关系运算 ...

  6. QTP(9)

    常用的Windows控件 WinEdit---Set "数据值" SetSecure "加密数值" WinButton---Click WinComboBox- ...

  7. QTP(8)

    一.Action 1.调用Action C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples (1)调用A ...

  8. QTP(7)

    一.输出值(Output Value) 1.应用场景: 1) 关心被测系统的数据 2) 将被测系统生成的数据作为后面步骤的输入 2.输出值就是输出被测系统中实际运行时的数据的一种技术 a.运行中对象的 ...

  9. QTP(6)

    一.检查点 1.标准检查点(Standard Checkpoint) 作用:检查对象的属性值是否正确 文本框对象:text 预期值 单选按钮对象:checked ON/OFF 下拉框对象:Select ...

  10. QTP(5)

    一.检查点 1.位图检查点(Bitmap CheckPoint) (1)作用:主要用于检查UI界面,检查页面布局,包括控件位置.大小.颜色.状态等 (2)确定位图检查点的要素: a.检查哪个控件 b. ...

随机推荐

  1. 饿了么这样跳过Redis Cluster遇到的“坑”

    内容来源:2017 年 8 月 12 日,饿了么高级Python工程师黄光星在“CRUG 2017北京活动”进行<Redis Cluster运维方案>演讲分享.IT 大咖说(微信id:it ...

  2. 架构模式: 客户端 UI 构建

    架构模式: 客户端 UI 构建 上下文 您已应用微服务架构模式.服务由业务能力/面向子域的团队开发,这些团队也负责用户体验.一些UI屏幕/页面显示来自多个服务的数据.例如,考虑亚马逊风格的产品详细信息 ...

  3. kubeadm安装集群系列(kubeadm 1.15.1)

    kubeadm已经进入GA阶段,所以尝试使用kubeadm从零开始安装高可用的Kubernetes集群,并记录下过程和所有坑 本文基于kubeadm 1.15.1 目录 kubeadm安装集群系列-1 ...

  4. shell-变量,字符串,数组,注释,参数传递

    Linux的Shell有很多种,常见的有Bourne Shell Bourne Again Shell C Shell K Shell Shell for Root 等,其中Bourne Again ...

  5. shell sed 替代1

    sed -e '/-DLUA_USE_LINUX/s/-lreadline/-lreadline -lncurses/g' Makefile > tmp mv tmp Makefile 全局换- ...

  6. POJ1703Find them, Catch them 【种类并查集】

    题目链接:http://poj.org/problem?id=1703 题目大意:给n个人,m次询问.A代表询问a, b之间的关系,D代表给出a, b属于不同的帮派. 我的想法: 太菜了,上课的时候没 ...

  7. PYTHON 100days学习笔记007-3:字符串和常用数据结构

    目录 Day007:字符串和常用数据结构 1.使用字符串 2.使用列表 3.使用元组 4.使用字典 4.练习 4.1:在屏幕上显示跑马灯文字 4.2 设计一个函数产生指定长度的验证码,验证码由大小写字 ...

  8. 【转帖】docker-get拉取镜像

    docker-get拉取镜像 题目很诱人 找时间测试一下 是否可以翻越长城下载镜像. https://www.cnblogs.com/fuyuteng/p/10904495.html docker-g ...

  9. Redis(1.13)Redis cluster 分布式集群手动配置

    [1]试验环境 结构图如下: (这里试验没有那么多机器,就用3台机器搭建试验) redis1是redis集群的一个节点A,上面运行了两个redis实例,7001 7004 redis2是redis集群 ...

  10. Java中的责任链设计模式,太牛了!

    责任链设计模式的思想很简单,就是按照链的顺序执行一个个处理方法,链上的每一个任务都持有它后面那个任务的对象引用,以方便自己这段执行完成之后,调用其后面的处理逻辑. 下面是一个责任链设计模式的简单的实现 ...