• 整理QTP知识之1


    以下说明由网络其他文章整合而成。

    一.关于QTP的说明

          QTP是目前市场上占有率最高的一款自动化测试工具,也是每一位测试工作者最想掌握的工具之一,也是目前流行的基于GUI的功能自动化测试工具之一。

          QTP目前最主要的应用是用于回归测试、版本验证测试阶段。它本身是针对系统界面上的元素进行识别、操作,达到测试系统功能的目的。因此,自动化测试启动的时机或者说QTP开始介入的时机就要受到系统开发进度的制约。只有当系统的界面元素不会频繁的变化、系统功能基本稳定,已经通过一至两轮的手工测试,确定系统不会存在重大缺陷时,才可以考虑自动化的实施。这里说的实施主要侧重脚本的开发,其他如测试方案、开发规范、参数定义等内容可以提前制定。有的个别大公司可能介入会比较早,界面出来,就开始着手脚本的开发。但这种方式要有严格的开发、测试规范与之配套,并且每一环节的人员严格按规范、规则进行,否则脚本后期的维护将是非常头疼的一件事情。

    二.QTP的运行原理、对象识别机制
      作为一个QTP的使用者,首先要搞明白它的运行原理,识别对象的机制。这是以后掌握其他技术的根本,不管是录制方式还是手写代码这个都是非常重要的。
      QTP是一款基于语言的工具,而LoadRunner是基于协议的。具体说,就是QTP针对不同的语言提供不同插件去识别对象,默认提供ActiveX、Visual Basic、Web插件,其他.net、java插件单独安装。每一种插件提供了针对不同对象的识别机制,也就是提供了对象默认的识别属性。所以在运行QTP前,首先确定加载哪个addin,否则对象就不能正确识别,出现很多奇怪的问题。不加载正确的addin,最直接就是表现在代码上。以下是点击google主页上的搜索按钮的区别:
      加载web插件的正确代码:Browser("Google").Page("Google").WebButton("Google 搜索").Click
      不加载web插件:Window("Windows Internet Explorer").WinObject("Internet Explorer_Server").Click 547,217
      这是典型的对象没有正确识别的问题。包括对象类型、识别属性、事件方法都会出现问题,这样会导致脚本的开发,维护,运行,阅读等等一系列问题。

          再说QTP的对象识别,加载正确addin后QTP会定义一套针对具体类型对象的默认识别属性。通过Tools--Object Identification可以查看,修改,增加默认的识别属性。更改后即时生效,但对之前的对象不起作用。如下图,这里就是决定QTP如何识别对象的地方。包括识别对象的强制属性、辅助属性、智能识别、顺序表示符的配置。特别指出,Browser对象有一个CreationTime顺序表示符,这是一个非常有用的属性,它可以根据IE打开的顺序去识别web页,而不必指定其他属性,合理加以利用会给web脚本带来很大好处。

    三.Automation->Record and Run Settings
    Web:比较常用的设置:可以指定打开浏览器的类型。
    Windows Application:指定录制应用程序 
      (1)Applications opened by Quick Test: 开启录制之后打开的应用程序。 
      (2)Applications opened via the Desktop: 录制通过桌面,开始菜单,快速启动,windows资源管理器打开的应用程序(包括开启录制之前和之后打开的 
      
    四.Tools-> Options 
    (1)General 
      General选项里面要注意的设置有三点: 
      1.Disable recognition of virtual objects while recording:录制时禁用虚拟对象识别。QTP在创建好虚拟对象后,如果选择了此项,则在录制到要用虚拟对象的时候,录制结束后,代码中会直接把要用虚拟对象的地方省略 
      2.Automatically update test and component steps when you rename test objects:当重命名测试库中对象后自动更新测试和组件步骤 
      3.Generate scrīpt:导出此对话框(包括其他选项页)的设置为scrīpt,保存为共用函数(通过Test setting的resources选项页调用) 
    (2)Folders 通过此页可以设置当前测试脚本路径。 
    (3)Active Screen 相当于快速预览窗口 
      对测试结果分析很有帮助的一个设置,注意此项设置记录的信息越多就越容易编辑录制之后的测试。但是,保存更多的信息将会增加录制时间和磁盘空间 
      此选项页中的设置 
      1.自定义捕获级别  默认为局部捕获,也可以根据自己的测试改变设置,如想提高录制运行速度且需要观察Active screen,则可以设置为None. 
      2.高级设置 可以设置在AS屏是否运行脚本,且加载什么控件。 
      Load ActiveX controls 加载之解决“当前安全设置禁止运行该页中的ActiveX控件。因此,该页可能无法正常打开” 问题 
      Load images 加载之后解决图片显示问题
      Load Java applets 加载之后解决java applets 问题 
    (4)Run 必须要安装Microsoft scrīpt Debugger才能使用 
      设置以下常用选项: 
      1. 运行模式(Normal和fast)  Normal可以设置运行步骤间隔时间且会有当前运行步骤提示。 
                                               Fast不能设置步骤运行时间间隔也没有步骤运行提示 
      「注」当从QC运行测试时,即使选择了Normal,也会自动设为Fast模式 
      2. 涉及和QC的链接 
      3. 设置运行测试是否自动显示测试结果 
      4. 设置测试结果中保留运行时的截图和录像(所有步骤/错误/警告) 
    (5)Windows Applications 很少用的设置 
    (6)Web 加载web控件时可用。 
      1. 设置不录制的地址 
      2. 设置忽略QC的连接 
      3. Add[ ] seconds to page load time: 增加页面加载时间 
      4. 坏链接测试(指向本地主机),要想设置指向所有主机链接的测试,通过本页高级现象设置自动添加链接检查检查点测试。 
      5. Page and Fame option 此项尽量保持默认设置(有些外部插件会自动修改设置为最优,如果使用了外部插件,建议保持默认设置,不要使用reset按钮 ) 
      6. 高级设置 

                   添加Accessibility检查点  在这里设置之后,才可以在脚本里编辑添加Accessibility检查点 
               添加自动检查点    设置此项之后,在录制时自动在测试的每个页面添加已设置的检查点。

  • 相关阅读:
    Python—requests模块详解
    强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)
    dexlib2的源码框架
    Android检测代理
    APP加固反调试(Anti-debugging)技术点汇总
    IDA逆向常用宏定义
    JNI学习积累之一 ---- 常用函数大全
    CMake之CMakeLists.txt编写入门
    Android Project和app中两个build.gradle配置的区别
    更新说明
  • 原文地址:https://www.cnblogs.com/bangbangjiang/p/3545537.html
Copyright © 2020-2023  润新知