废话 (初次发文日期 2020 年 8 月)

最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末

功能 (2022 更新)

运行机制

  1. 通过读取配置文件,获取到 host 地址、提取 token 的 jsonpath 表达式,提取实际响应结果用来与预期结果比对的 jsonpath 表达式。
  2. 读取 excel 用例文件数据,组成一个符合 pytest 参数化的用例数据,根据每列进行数据处理(token 操作、数据依赖)
  3. token,写,需要使用一个正常登录的接口,并且接口中要返回 token 数据,才可以提取,token,读为该请求将携带有 token 的 header,token 无数据的将不携带 token
  4. 数据依赖处理,从 excel 中读取出来的格式{"用例编号":["jsonpath 表达式 1", "jsonpath 表达式 2"]},通过用例编号来获取对应 case 的实际响应结果(实际响应结果在发送请求后,回写到 excel 中),通过 jsonpath 表达式提取对应的依赖参数字段,以及对应的值,最终会返回一个存储该接口需要依赖数据的字典如{"userid":500, "username": "zy7y"},在发送请求时与请求数据进行合并,组成一个新的 data 放到请求中
  5. 每次请求完成之后将回写实际的响应结果到 excel 中
  6. 根据配置文件中配置的 jsonpath 表达式提取实际响应内容与 excel 中预期结果的数据对比
  7. 生成测试报告
  8. 压缩测试报告文件夹
  9. 发送邮件

目录结构

35F236C2-2F64-4891-8384-2FBFE3229F90.png

执行顺序

运行 test_api.py -> 读取 config.yaml(tools.read_config.py) -> 读取 excel 用例文件 (tools.read_data.py) -> test_api.py 实现参数化 -> 处理是否依赖数据 ->base_requests.py 发送请求 -> test_api.py 断言 -> read_data.py 回写实际响应到用例文件中 (方便根据依赖提取对应的数据)

EXcel 用例展示

Snipaste_2020-08-13_11-21-18.png
用例格式说明

运行结果

Snipaste_2020-08-03_15-54-45.png

致谢

jsonpath 语法学习:https://blog.csdn.net/liuchunming033/article/details/106272542

zip 文件压缩:https://www.cnblogs.com/yhleng/p/9407946.html

这算是学习接口自动化的第一个成果,但是要应用生产环境,拿过去还需要改很多东西,欢迎交流。

视频记录 (该视频指向tag2.0)

前往获取源码


↙↙↙阅读原文可查看相关链接,并与作者交流