2、轻量级测试框架itest

  itest是interface test接口测试框架的简称:支持基于网络通信的WEB UI接口自动化测试,支持HTTP,SOAP,RPC等几种常见协议,支持多种验证结果的模式,支持数据分离,主要的特征还是通过数据文件驱动测试执行,不需要编码实现测试用例。

  2.1 架构设计

  itest功能组成与基本处理流程如下图,以主要协议HTTP为例:

基本设计思想:   

(1)itest框架支持case文件与执行的分离,case并非coding模式,而是通过各类文件描述case信息(请求文件,数据准备清理文件,验证结果文件…),itest解析case信息后转化为接口请求   

(2)登录是针对uc,uuap等测试环境下,模拟请求并获得sessionid,HTTP请求的case需要带着sessionid   

(3)参数化:itest作为执行框架,执行接口的部分逻辑比较薄,是基于数据驱动的方式,把case数据转为Junit4的参数化数组,循环执行   

(4)setup与teardown:以不同文件后缀代表不同的行为,itest内部可扩展实现对不同后缀名文件的操作逻辑,如后缀为.sql,则当做sql语句直接执行   

(5)验证:也是以文件后缀名做有区别的验证,如后缀.response是直接判断expected.equals(actual)?而后缀是.csv的则拼装为sql后查询db是否结果匹配   

基础结构:   

Junit4+HTTPunit+Ant