接口自动化测试框架 :APIAutoTest框架

前言


随着测试技术的发展,接口自动化测试逐渐成为各大公司投入产出比最高的测试技术。介入时间早,执行效率高,稳定性高的优点,让越来越多的公司引入接口自动化测试。

框架简介



APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试。

框架介绍



1.    数据驱动设计,使用TestNG中的@DataProvider读取Excel中存储的自动化测试用例。

2.    基于TestNG测试框架

3.    使用HttpClient发送Http请求,并统一接口response返回值为String

4.    使用fastJson和Jsoup进行数据解析,由于请求返回值的统一,解析数据异常方便,方便接入不同接口类型的数据

5.    独立封装的检查点“Jsonpath”检查点,极大方便检查点的设置

6.    在线报告以及Email报告

7.    持续集成、持续交付、自动构建与测试

框架技术栈图



框架组件图




  • ?  Maven进行项目、依赖管理
  • ?  HttpClient进行通信
  • ?  TestNG测试框架管理测试脚本以及测试驱动
  • ?  FastJson/Jsoup用于数据解析
  • ?  AssertJ用于检查点设置
  • ?  ExtentReports输出具备图表分析的报告
  • ?  SVN+Jenkins实现持续集成

框架执行流程图



测试执行的流程(代码层):

  • 测试执行的入口为TestNG的XML文件
  • 获取测试用例的脚本,测试用例执行分为测试前(@BeforeTest),测试中(@Test),测试后(@AfterTest)
  • @BeforeTest:获取/解析测试数据(Excel文件),接口关联参数化,Cookie装载等
  • @Test:初始化httpclient对象,执行请求,获取响应并转换成String等
  • @AfterTest:jsonpath检查点,对于接口正确/错误请求的逻辑处理
  • 生成在线ExtentReports报告/日志
  • Email报告,测试结果通知测试相关人员

测试用例设计





测试用例设计:

    • 通过TestNG的@DataProvider获取Excel测试数据
    • 将数据的表头与数据存储在map中,具体使用时方便
    • jsonpathPoint:jsonpath检查点,框架特点之一,极大的方便断言的编写
    • 前后缀的使用:通过前后缀使用来区分统一作用的数据,如请求参数:params
    • 是否运行/检查控制:通过编写测试用例时就可以控制该用例是否运行,是否检查
    • 不足之处:一个接口的测试数据对应一个Excel文件/Sheet表,后期数据量太大

测试报告



结语



接口自动化测试在这个追求效率的时代,逐渐的取代UI自动化测试,而做接口自动化测试的工具很多,比如soapUI,postman,jmeter等等,但是这些通用的工具的可扩展性以及跟项目的契合度上并不是十分合适。框架的作用在于使测试脚本编写变得简单,增强测试脚本的可维护性,容错率等,提高测试脚本的编写效率,从而提高测试效率。

原文地址:https://www.cnblogs.com/huxinping8800/p/9640648.html

时间: 2024-11-09 04:58:33

接口自动化测试框架 :APIAutoTest框架的相关文章

接口自动化测试:Thrift框架RPC协议客户端开发

import java.lang.Thread.State;import java.util.Iterator;import java.util.List; import org.apache.thrift.TException;import org.apache.thrift.protocol.TBinaryProtocol;import org.apache.thrift.protocol.TProtocol;import org.apache.thrift.transport.TFrame

接口自动化测试框架 (一) :APIAutoTest框架

前言 随着测试技术的发展,接口自动化测试逐渐成为各大公司投入产出比最高的测试技术.介入时间早,执行效率高,稳定性高的优点,让越来越多的公司引入接口自动化测试. 框架简介 APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试. 框架介绍 1.    数据驱动设计,使用TestNG中的@DataProvider读取Excel中存储的自动化测试用例. 2.    基于TestNG测试框架 3.    使用HttpClie

Python 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)

目录 1.      写在前面 2.      开发环境 3.      大致流程 4.      框架简介 5.      运行结果展示 6.      文件与配置 7.      测试接口实例 n      1.登陆接口 n      2.支付密码更改接口 8.      数据库设计 9.      测试用例.测试数据准备 10.        模块与类.函数设计 11.        代码实现 a)         class congfighttp.ConfigHttp b)      

【python3+request】python3+requests接口自动化测试框架实例详解教程

转自:https://my.oschina.net/u/3041656/blog/820023 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,

robot framework + python实现http接口自动化测试框架

https://www.jianshu.com/p/6d1e8cb90e7d 前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了bug,所以需要一遍遍回归case,过程一直手工去执行,苦不堪言.所以,对于即将开始的http接口测试需求,立马花了两天时间搭建了一个http接口自动化测试框架用于测试后期回归测试,实在是被大量的重复手工执行搞怕了. 基础

构建接口自动化测试框架

背景 由于项目需要实现接口自动化,于是我自己用Java + testNG 实现了一套接口自动化测试框架.基本功能实现了测试数据的读取,接口的请求,返回值的处理以及最后的断言. 先来看一下框架的目录结构: 框架比较简单,在设置好测试数据之后,就可以开始写用例了,如: 是不是很方便,用例写好之后,就可以部署Jenkins自动执行了. 下面来具体看一下框架的实现 测试数据的存储和读取 测试数据存在在TestData下的xml文件,每条用例一个文件,然后通过XML类去读取文件内容,并将内容转换成json

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自

iaf——接口自动化测试框架

接口自动化测试框架iaf    https://www.liangzl.com/get-article-detail-26879.html https://www.cnblogs.com/highpointengineer/tag/%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95/ 原文地址:https://www.cnblogs.com/highpointengineer/p/10982353.html

Python接口自动化测试框架实战 从设计到开发

第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的http\https请求包.如何模拟请求数据.过滤规则及修改响应数据.如何解决无法抓包问题        以及fiddler接口测试,让大家能应用好工具! 第3章 Requests常见方法实战运用本章重点讲解 get\post请求测试.接口测试中结果处理.上传\下载文件接口测试.请求中header及coo