打造高效接口测试:Python自动化框架设计与实现

发布时间:2023年12月22日

在软件开发过程中,接口测试是非常重要的一环。它可以帮助我们确保系统的各个模块之间的交互是否正常,从而提高软件的质量和稳定性。本文将介绍如何使用Python编写一个自动化接口测试框架,包括框架对比、接口测试框架介绍、接口测试框架流程和接口测试框架代码结构等内容。

1 接口测试框架对比

unittest:

  • 不支持失败自动重新执行
  • 参数化依赖第三方库
  • HTMLTestRunner三方报告不够美观

pytest:

  • 支持失败自动重新执行
  • 参数化直接使用自带@pytest.mark.parametrize装饰器
  • 兼容allure报告,报告美观并且功能强大
  • 兼容unittest测试框架

2 接口测试框架介绍

Pytest测试框架:

  • 简单灵活,容易上手,文档丰富
  • 支持参数化
  • 很多第三方插件,运行失败重复运行、报告等

Requests:

  • 流行的接口http(s)请求工具
  • Assert断言
  • 结果验证

Yaml:

  • Yaml是一种所有编程语言可用的友好的数据序列化标准
  • 语法和其他高阶语言类似,并且可以简单表达字典、列表和其他基本数据类型的形态

Allure:

  • 一款非常轻量级并且非常灵活的开源测试报告生成框架
  • Allure是一个独立的报告插件,生成美观易读的报告,它支持绝大多数测试框架,例如TestNG、Pytest、JUint等
  • 它简单易用,易于集成Jenkins
  • 邮件报告
  • 运行结果发送报告

Jenkins+Docker:

  • Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要
  • Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上

3 接口测试框架流程

Requests实现接口调用:使用Requests库实现对接口的调用,获取接口返回的数据。

Yaml/Excel遍历测试用例:使用Yaml或Excel文件存储测试用例数据,通过遍历的方式执行测试用例。

结果断言验证:使用Assert断言方法进行结果验证,确保接口返回的数据符合预期。

生成测试报告:使用Allure或其他测试报告生成工具生成美观易读的测试报告。

自动发送邮件:将测试报告发送到指定的邮箱,方便团队成员查看和分析。

集成jenkins自动化接口测试:将接口测试框架集成到Jenkins中,实现自动化的接口测试和持续集成。

4 接口测试框架代码结构

├── common          # 公共模块,存放通用的工具函数和配置文件等
├── config          # 配置模块,存放配置文件和环境变量等
├── data            # 数据模块,存放测试数据和报告数据等
├── logs            # 日志模块,存放日志文件和日志处理函数等
├── pytest.ini      # Pytest配置文件,用于配置pytest的相关选项和插件等
├── report          # 报告模块,存放生成测试报告的相关函数和模板等
├── requirements.txt # 依赖管理文件,列出项目所需的第三方库和版本等信息
└── run.py          # 主程序入口文件,用于启动接口测试框架并执行相关任务等
├── testcase        # 测试用例模块,存放具体的接口测试用例和测试数据等
└── utils           # 工具模块,存放常用的工具函数和辅助类等
文章来源:https://blog.csdn.net/python_jeff/article/details/135150155
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。