zoukankan      html  css  js  c++  java
  • 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种解决方案根据需要自己选择。

    总结:

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

  • 相关阅读:
    hdu 4710 Balls Rearrangement()
    hdu 4707 Pet(DFS水过)
    hdu 4706 Children's Day(模拟)
    hdu 4712 Hamming Distance(随机函数暴力)
    csu 1305 Substring (后缀数组)
    csu 1306 Manor(优先队列)
    csu 1312 榜单(模拟题)
    csu 1303 Decimal (数论题)
    网络爬虫
    Python处理微信利器——itchat
  • 原文地址:https://www.cnblogs.com/klb561/p/11960442.html
Copyright © 2011-2022 走看看