• QTP测试学习笔记


    QuickTest Professional(简称QTP)功能自动化测试,原属于Mercury Interactive公司产品,2006年7月被惠普公司收购了,通过安装文件目录可以看到,都是默认放在C:Program Files (x86)HPUnified Functional Testing文件夹目录下。早期惠普公司还有一个winrunner的产品,目前已经不维护了,但是还是有少部分公司在用。

     https://blog.51cto.com/croshere/116783

    http://blog.sina.com.cn/s/articlelist_1599269304_5_1.html

    首先我们来理解下,为什么要有自动化测试工具呢?

    1. 存在大量的回归测试

    2. 大数据量的测试

    3. 自动化测试工具可以24小时不间断的工作,手工测试就不行了

    总结就是,主要是为了减少手工执行的重复性操作,减少人工和时间的浪费,快速的回归测试功能,提高项目的效率。


    自动化测试工具使用的条件:

    1. 项目的功能点相对稳定

    2. 冒烟测试通过后,引入自动化测试,不会浪费资源

    常用的功能测试化工具有:WinRunner,QaRun,Robot Framework(IBM的一款产品),Selenium;

    QTP的特点:

    1. 是面向对象的一种功能自动化测试工具

    2. 能够对任意语言进行功能自动化测试

    3. 简单易用的图形化操作界面,对于初学者,容易上手

    4. 可以用VBScript脚本语言编写程序,加强代码功能

    被测系统模式:

    C/S模式:客户/服务器间的模式

    B/S模式:浏览器/服务器间的模式

    针对QTP10.0版本:

    界面介绍:菜单栏,工具栏,keywordView(关键字视图),expertView(专家视图),ActiveScreen(界面截图视图);

    QTP自带的windows订票系统地址:http://newtours.demoaut.com

    怎么录制和回放:

    1. 点击“record”(录制)按钮

    2. 在“Record and Run Settings”(录制和回放页面)页面把web选择第一项,Win Application选择第二项

    3. 添加被测程序或者网页链接

    4. 开始录制测试用例的每个步骤

    5. 点击“stop”停止按钮

    6. 点击“run”运行按钮,回放之前录制的步骤,看有没有录制成功

    在 Keyword View 中的每一个字段都有其意义:

    Item(项):以阶层式的图标表示这个操作步骤所作用的组件(测试对象、工具对象、函数呼叫或脚本)。

    Operation(操作):要在这个作用到的组件上执行的动作,如点击、选择等。

    Value(值):执行动作的参数,例如当鼠标点击一张图片时是用左键还是右键。

    Assignment(分配):使用到的变量。

    Comment(注释):你在测试脚本中加入的批注。

    Documentation(文档):自动产生用来描述此操作步骤的英文说明。

    QTP系统设置项:

    1. 设置字体:Tools View Options Fonts and colors Size

    2. 恢复页面布局:Tools  Options  General  Restore Layout

    3. 运行速度设置:Tools  Options  Run  Run mode  输入步骤和步骤之间运行的间隔时间,单位是毫秒,例如1000s

    4. Record and Run Settings (录制和运行设置):Automation  Record and Run Settings 

    自动化测试的流程:

    1. 需求分析

    2. 制定测试计划

    3. 录制测试脚本

    4. 增强测试脚本(之后的课时再学习)

    5.使用QTP的回放机制, 执行测试

    6. 分析测试结果,反馈测试报告
    ————————————————

    Object Identification 管理对象模型

                      对象库的基本操作:添加、更新、对象闪烁、副对象库

                      Object Spy 运用

                      Obeject Repository Manager 对象库指挥官

    一、对象模型

    对象库是QTP的核心,正是因为有了对象库,QTP才脱颖而出。

    QTP自动化的原理(重点):

                                 1.封装真实的被测对象到对象库

                                 2.对比对象库中的对象鉴别属性和运行时的被测对象的鉴别属性

                                 3.如果鉴别属性相同,继续对被测对象进行操作,不同则无法识别对象

    对象模型:添加对象到对象库之后,QTP就会自动建立被测对象的对象模型,并且有唯一标识

    二、 Object Identification

    Object Identification 即为以上提出的唯一标识对象的属性列表(以下简称OI)

    OI属性列表里面有两个区域 : Mandatory Properties 和 Assistive Properties

                                             (对象模型的必要属性)    (对象模型的辅助属性) 

    注:实际运行时被测对象与对象库进行比较的鉴别属性就是 Mandatory Properties

           对象库中Description properties(描述属性)定义的所有属性都是必要属性。

    拓展内容:web对象模型的智能识别 (针对对象模型下的具体对象)

                    例:webedit 对象   webcheckbox 对象

                    在OI里面可以设置智能识别的属性:Enable Smart Identification

                    推荐识别对象出现问题时选择智能识别

                    智能识别的过程是逆向推,将不符合的全过滤推出唯一留下的即为符合

    三、对象库的基本操作

          1.剪切、复制、粘贴、删除对象时父对象和子对象是一体的(一荣俱荣、一损俱损)

          2.查找、替换对象 find & replace :Crtl + F 

          3.添加对象(重点):添加子对象,父对象、祖父对象均被添加

                                            添加父对象,祖父对象添加,子对象不添加

             注:1) 添加对象时注意对象库的Action切换,切换到外部的action时只能查看对象。

                    2) 添加对象时切换web页面是不是很麻烦,告诉你一个小秘诀:捕捉模式切换 

                       (捕捉模式切换,详情见后续 Object Spy 章节)

                    3) 录制添加对象,虽十分快速但是对象命名随机不规范,可以通过修改对象库

                       对象的name值,录制脚本自然改变(维护对象库自动更新脚本)

          4.更新对象 

            更新步骤和添加步骤相同,只是不同种类的对象不可随意更新,无法识别对象也可以

            使用对象更新

         5.对象闪烁(亮灯)Highlight in Application

            调试脚本使用,定位对象,若亮灯则能识别对象本身,反之对象属性可能出现问题  

            隐藏方法:Highligh 执行代码后,代码对象会闪烁

         6.副对象库   Associate Repositories (外部加载、只读)

            把一些具体的对象封装为一个对象库文件,调用该对象库文件到对象库即为副对象库

            弊端是产生很多ObjectRepository.bdb文件

            添加方法有两种:手工添加(切换到all object下再copy to local 才可以编辑)

                                       动态加载(后面章节讲述)

           扩展:导出本地对象:保存对象库文件到指定文件夹

                     导出(代替)本地对象:导出本地对象将其替换成副对象

    四、Object Spy 运用

           侦探 Jack(重点) :Native Properties 和 Identification Properties切换

           Native Properties(本地属性):自身接口属性    多

           Identification Properties(鉴别属性) :QTP 默认封装属性    少

           捕捉模式切换:  半模式操作—— Ctrl            支持鼠标操作           1)

                                     全操作模式——Ctrl+alt    支持鼠标、键盘操作   2)

                                    1)按住Ctrl   小手指变鼠标箭头,正常操作;

                                         松开Ctrl   还原为抓取对象模式

                                    2)按住Ctrl+alt   松开Ctrl 再松开alt  进入全操作模式

    五、Obeject Repository Manager 对象库指挥官  

           ORM和OR的功能大体相同,在此只介绍几点不同:

          1.ORM中提供了一个非常快捷的按钮“Enable Editing”

              ORM打开对象库文件为只读,点击“Enable Editing”,就可以随意修改

          2.ORM中可以save、save as 对象库文件,OR是导出对象库文件

          3.ORM 的两个辅助工具(重点)

             Obeject Repository Comparison Tool : 对象库对比

                      Obeject Repository Merge Tool : 对象库合并

            注:自动化测试的对象库维护,首先要进行对象库对比进行分析确定,然后

                   进行对象库合并,合并过程若无冲突就关闭窗口,产生冲突会自动产生

                   3种解决方案根据需要自己选择。

    总结:

                 想要做好自动化测试维护好对象库是极其重要的。

  • 相关阅读:
    呕心沥血,nginx自动重启脚本唯一值
    tar打包命令,过滤某类文件命令
    Linux/centos/ubuntu全系列 配置 history 命令显示操作时间、用户和登录 IP大全
    nginx-301/304/302-目录、文件跳转那些事之温习
    2021/4/28最新elk7.12搭建配置grok正则及坑总结!
    nginx配置上线直播【移动端/pc分别访问】
    Postgresql 导入导出/创建库等基本使用小记,一看就懂,一学就会!
    MangoDB 容器备份一看就懂,一学就会!
    ignav中IMU与GNSS间的杆臂
    RTKLIB中质量控制函数之——testsnr()函数
  • 原文地址:https://www.cnblogs.com/klb561/p/11960442.html
Copyright © 2020-2023  润新知