于樣同学   发表于 2017-04-27 12:17:03

收藏 3180 4

UFT/QTP自动化测试框架详解

前言

很多从事测试的朋友都会接触到自动化测试或要求有自动化测试的技能,自动化测试已成为测试行业发展的趋势。自动化测试的工具有很多且各有所长,UFT(QTP)是最流行的测试工具之一,因此很多公司在招聘时会把UFT(QTP)作为指定需要掌握的测试工具。很多学习过UFT的朋友都能很快掌握工具设置、录制、编写脚本、执行任务等操作,但 要真正掌握自动化测试,必须学会设计测试框架。

网上很多关于框架概念的资料,说的都是框架的作用,但就没有一个具体的例子给读者演示如何设计。本文则以具体的框架为实例,叙述整个框架的架构,如何搭建架构。讲解驱动脚本的每一行代码,并以实际的测试用例演示本框架如何使用及执行结果。本框架设计是运用于UFT12.01版本,QTP的软件不兼容。

blob.pngblob.png

Part 1                  Part 2


框架概述

使用统一的驱动脚本入口

每个公司都会有多个产品,本框架可以容纳多个项目,每 个项目使用统一的驱动入口,执行时由驱动程序读取相应的数据文件和VBS脚本文件和输出测试报告。

使用对象库编程

框架使用UFT自带的对象库编程的方法进行识别对象,对象库编程比描述性编程方便、简单、高效,能真正实现脚本与对象分离,但相对移植性较差。本人推荐使用对象库编程,对于对象属性改变的问题可以使用Set 变量=对象的方法,方便日后维护。

使用VBS的Function代替脚本中的Action

UFT工具自带Call action的方法进行脚本复用,但本框架使用Function的方法代替Call action,每个Function执行一个测试步骤,通过组合多个Function可完成一个测试用例。

数据文件统一维护

所有需要用到的测试数据统一放到1个testpro和多个testdata的Excel文件中,testpro记录测试那个项目,testdata记录每个Function 需要用到的测试数据。

框架图示如下:

blob.png

体系结构

blob.png

模块说明

·         Autotest文件夹,整个工程的最高一级目录,名称可以修改。

·         driver文件夹,这个是整个框架的入口,用UFT打开driver入口程序,便能看到整个框架的代码。

·         testpro文件夹,用于记录有哪些项目,是否执行。

·         Testdata文件夹,用于设计测试用例。

·         tests cript文件夹,存放测试脚本,全部存储为vbs文件。

·         Result文件夹,里面有个excel表保存测试结果。

·         除Autotest外以上文件夹名字都不能修改。

pro表格说明

blob.png

·         IsRun: 用于设置项目是否执行,0表示不执行,1表示执行。

·         ProName: 填写项目的名称,项目名称必须为英文和数字的组合,本框架可容纳无限个项目。

·         Runtimes: 设置执行测试次数。

·         Des cription: 用于说明项目的信息,可随意填写。

testdata表格说明

blob.png

在testdata文件夹里面有多个Excel文件,每个Excel文件对应一个项目, Excel的文件名必须与ProName的保持一致。

注意:运行程序时不要打开Excel文档,否则无法加载数据

blob.png

·         IDX: 设置该条用例是否执行,1代表执行,0代表不执行

·         TestName 要执行的用例名,与VBS脚本终端一个functiong 名字相对应,程序运行时,就会根据表格由上到下执行所有用例。

·         param1和param2: 在编写function脚本时,如果需要用到变量,可以直接应用param1和param2,直接在表格中给变量赋值。

·         Expect 填写用例执行结果的期望值。

·         Pass和Fail: 记录用例执行成功和失败的次数。

Tests cript使用说明

blob.png

每个项目对应一个VBS脚本文件,如图PRO1到PRO4,且VBS文件必须与PRO的excel表的ProName保持一致。

VBS脚本编写说明

blob.png

脚本开头和结尾用class PRO1,End class,使用类的思想,类里面可以包含多个function,PRO1为VBS脚本的文件名也是项目名称。

Function:一个function就是一个用例或一个动作,每个function是自动化测试工程师需要根据公司业务设计。

实例说明

blob.png

Test1为PRO1项目的一个测试用例,计算param1+param2的值,在PRO表上设置执行PRO1项目2次,在testdata的PRO1表格设置执行test1,分辨设置参数param1为1,param2为2,期望值为3,执行时,就会在rusult表格生成报告,Real的真实值为3与期望值一致,那么通过次数为2次。

全部回复共4条
电梯直达
我要回复
  • 夏雨初晴 2017-04-27 16:40:35

    1楼

    谢谢分享

  • 吃不胖的瘦子W 2018-03-21 14:08:36

    2楼

    应国家法规要求,由于该用户未绑定手机号,故此信息暂无法显示

      kuserHU 2018-12-11 10:44:17 1#1楼

      应国家法规要求,由于该用户未绑定手机号,故此信息暂无法显示

      评论

  • 吃不胖的瘦子W 2018-03-21 14:26:07

    3楼

    应国家法规要求,由于该用户未绑定手机号,故此信息暂无法显示

      kuserHU 2018-12-11 10:44:34 1#1楼

      应国家法规要求,由于该用户未绑定手机号,故此信息暂无法显示

      评论

      kuserHU 2018-12-11 10:44:51 2#2楼

      应国家法规要求,由于该用户未绑定手机号,故此信息暂无法显示

      评论

  • Huppert 2018-11-09 10:39:52

    4楼

    应国家法规要求,由于该用户未绑定手机号,故此信息暂无法显示

加载中...
关闭
关闭
在线
咨询
QQ
交流群
App
下载
返回
顶部