代码改变世界

API 接口自动化测试框架

2017-10-21 13:35  鸣仁  阅读(1668)  评论(0编辑  收藏  举报
转自: https://testerhome.com/topics/3455

前言

接口自动化逐渐成为各大公司投入产出最高的测试技术。但是如何在版本迅速迭代过程中提高接口自动化的测试效率,仍然是大部分公司需要解决的问题。

框架定位

  • 数据驱动设计模式,无需写测试代码脚本即可实现自动化
  • 等价类非等价类覆盖, E2E(接口流程性测试) Case覆盖
  • 使用Excel的方式进行自动化用例编写,简单,易用,高效。

框架架构图

 

 

 

框架介绍

 

 

 

 

 

 

 

 

 

技术栈

Jenkins + Svn + Maven+TestNG+ReportNG+(HttpClien+URLConnection)

Case展示

1,单个接口Case

 

 

 

Json response 解析用的是 JsonPath 解析方式,检查点以“,”隔开

2.,E2E流程性自动化Case

 

 

 

其中可以取上面的Step 的response 内的参数作为下面步骤的入参或者检查预期值。

执行展示

先配置用例脚本模板:

 

 

配置好全局环境配置:

 

 

 

Jenkins配置任务并执行,得到自动化测试报告
邮件报告:

 

 

 

测试报告:
  • 任务概述

     

     

  • 步骤过程打印:

     

     

接口与接口之间可以按规定的参数进行 取值与赋值,单独由数据中心去控制遍历的接口是否需要进行数据转换!~
这样可以把一些简单的API业务流串起来持续集成,方便快速迭代~!

框架优势:

1 编写Case效率
  • 易编写,在Excel内编写负责 粘贴非常简单方便,全局替换也非常方便。

  • 易维护,无需每个人写代码脚本,在用例模板内可维护性高很多。

  • 易交接,自动化模板基本都能看懂,思路一目了然。

2 执行效率

 

 

 

3,支持接口之间参数定义(需使用定义参数)

 

 

 

4,HTTPCode检查非正常外的状态均会报错!

(只有错误的地址才会出现在测试报告里面)

  • 报告详情示例:

 

 

 

5,响应超时预警邮件触发:
  • 单个接口响应超过5秒自动触发代码发送邮件给指定人

 

 

 

6全局参数变量
  • 指定参数 TTPod_Rondom(20) 在执行过程中代码会自动替换成 一个范围在0~20以内的随机数

 

 

 

7 框架轻便灵活,无缝对接 持续集成,持续交付

与TestNG +Maven+Jenkins 搭建持续集成链路,非常简单。