以Python为基础的REST(JSON为交换数据)接口的测试框架设计(一)
在Webservice的接口测试中,经常使用JSON作为数据交换格式,平时在工作中使用RestClient工具进行测试,功能比较简单,只能进行单个功能的测试,无法进行复杂行为的测试。
故想用Python的测试框架来是实现一个。
原始需求如下:
- 要求具备JSON数据的发送和接收能力,JSON消息(POST,GET,PUT,delete)解析返回的JSON消息
- 测试数据和测试用例分离,即要求每个测试用例从文件中读取JSON数据,然后发送
- 要具有修改JSON数据的能力,可以根据给定的变量名称和值,修改从文件中读取的JSON数据,然后发送提供JSON消息的MOD方法(修改JSON消息中的某个字段)
- 要具有接收数据判定功能,给定的变量名称和值与返回结果对比功能返回JSON消息检查(填写校验的字段名和值,与返回的JSON消息中的值比较)
- 返回JSON消息的值的获取,填写变量名,获取到该变量名对应的值
- 要有执行日志记录功能,详细记录执行中的交互信息,方便问题定位。每个用例一个文件,文件名为用例名称+时间(年月日小时分秒)消息交互过程的打印,发送了那些,接收了那些,记录关键信息
- 错误异常的抛出
- 日志要有index.html,方便查阅。每一个用例一个py文件,每个用例记录一个日志文件,最好有一个index文件,把每次执行的日志都放进去规避同一个用例多次执行的日志文件生成,标注每个用例执行结果,pass,fail等
- 日志记录那些内容,log的级别设置
接口要简单,易于维护和架构要易于扩展
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?