接口自动化框架设计

框架通用性:哪里都可以使用

可扩展性:方便新增和修改功能

可维护性:是否便于修改,适当封装但不能过度、分层设计(同一类型放一块)

分层设计框架思路:

1、写测试用例数据:test_data,存放excel

2、测试用例文件:test_cases,写测试流程、业务流程、接口要干什么

3、封装的工具类:tools,类似日志收集器、mysql数据库操作、excel读取、yaml配置文件读取、响应数据提取、os路径参数化、re正则表达式、参数替换(jsonpath、re)request请求数据封装、Faker构造测试数据、接口断言、数据库断言、反射添加和读取对象属性

4、配置文件:config  setting,py文件  ini  yaml文件

5、日志文件:logs

6、测试报告:reports

7、框架执行入口:main,用例收集、用例执行、邮件发送

具体实现步骤思路:

1、编写测试用例:数据驱动、通过excel写测试用例的数据,handle_excel读取测试用例数据

2、获取测试用例路径:通过handle_path进行封装

3、handle_excel读取数据data进行参数替换和去掉空格和换行符,得到直接可以发送请求的参数

 

 

主要实现的核心功能:

 

1、前置sql语句:setup_sql

 

2、请求参数替换(正则表达式、jsonpath、读取数据库、读取配置文件)

 

3、发送请求:鉴权的问题(接口返回值,处理不同请求类型的问题,通过设置新增字段)

 

4、响应结果的处理:接口返回类型不统一的问题,返回json,text,返回为空

 

5、接口响应断言:expected_data校验接口层

 

6、全局变量的提取:extract_data参数依赖问题

 

7、数据库断言:assert_db校验到数据层(确定数据新增、状态是否同步)

 

8、接口请求【前后】数据库断言

 

9、日志输出

 

10、测试报告输出 shutil模块  

 

11、邮件发送:unittestreport

 

12、加密接口

 

13、数据隔离

 

posted on 2024-04-06 19:54  诚实的表达自己  阅读(30)  评论(0编辑  收藏  举报