目录
前言
框架简介
框架介绍
框架技术栈图
框架组件图
框架执行流程图
测试用例设计
测试报告
结语
前言
APIAutoTest框架是一款基于Python语言和unittest框架的API自动化测试框架。它可以帮助测试人员快速搭建API测试环境,并通过代码自动化实现API的测试、断言、报告生成和结果统计等功能,减轻测试人员的工作负担,提高测试效率。
框架简介
APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试。
框架介绍
-
数据驱动设计,使用TestNG中的@DataProvider读取Excel中存储的自动化测试用例;
-
基于TestNG测试框架;
-
使用HttpClient发送Http请求,并统一接口response返回值为String;
-
使用fastJson和Jsoup进行数据解析,由于请求返回值的统一,解析数据异常方便,方便接入不同接口类型的数据;
-
独立封装的检查点“Jsonpath”检查点,极大方便检查点的设置;
-
在线报告以及Email报告;
-
持续集成、持续交付、自动构建与测试。
框架技术栈图
框架组件图
-
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等等,但是这些通用的工具的可扩展性以及跟项目的契合度上并不是十分合适。框架的作用在于使测试脚本编写变得简单,增强测试脚本的可维护性,容错率等,提高测试脚本的编写效率,从而提高测试效率。
作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!
留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=hyGITtX0cD6EN96WzR_d5b1qRSZ-Dpyy&authKey=76TmCzaAQ%2BOwLn6umFFZeVxKheSwyaUVwymd%2FRvdARY6cvCSCgZ1qOSe3w%2Bsh61f&noverify=0&group_code=574737577