基于pytest的接口自动化测试:使用requests模块的实战项目与接口关联方法详解

步骤1:编写测试用例

建立一个称作.py的文件, 用以撰写测试用例, 首先, 引入必需的模块:

linenums 复制代码
  1. import requests
  2. import pytest

然后,编写测试用例。这里以用户注册和登录为例:

linenums 复制代码
  1. @pytest.mark.parametrize('payload, expected_response', [ # 参数化测试用例
  2. ({'username': 'test', 'password': '123456'}, 200), # 正常情况下的响应码
  3. ({'username': ''}, 400), # 用户名为空时的响应码
  4. ({'password': ''}, 400), # 密码为空时的响应码
  5. ])
  6. def test_register_and_login(payload, expected_response):
  7. # 发送POST请求进行注册
  8. register_url =
  9. response = requests.post(register_url, json=payload)
  10. assert response.status_code == 201 # 注册成功时的响应码
  11. # 获取注册成功后的用户token
  12. token = response.json().get('token')
  13. # 发送POST请求进行登录
  14. login_url =
  15. headers = {'Authorization': 'Bearer ' + token}
  16. response = requests.post(login_url, json=payload, headers=headers)
  17. assert response.status_code == expected_response # 验证响应码是否符合预期

于这个例子里头, 我们运用了参数化功能去创建多个测试用例, 这些测试用例分别用于验证不同情形下的响应码。借助使用模块发送 HTTP 请求并且检查响应码以及响应内容, 我们能够验证用户注册和登录的接口是不是正常运作。

步骤2:运行测试用例

在终端里面, 进入那个含有.py文件的目录, 接着运行下面这个命令去执行测试, 用。

linenums 复制代码
  1. pytest test_api.py

会自动去发现.py当中的测试用例并执行, 在执行期间, 会把每个测试用例的结果进行输出, 这结果涵盖是否通过以及详细的断言信息, 要是所有测试用例皆通过了, 那么就表明接口自动化测试成功完成了。

步骤3:处理关联接口问题(可选)

有些时候, 接口相互之间存有依赖关联, 一个接口所输出得来的内容, 有可能会成为另外一个接口的输入内容。处于这样的情形之下, 针对接口关联方面的问题, 我们能够运用的是插件。常见的插件包含了 - 和 -。经由这些插件, 能够辅助我们去定义接口彼此之间的依赖关系以及执行的先后顺序, 以此保证测试用例能够正确无误地执行。当运用这些插件之际, 得依照相应的文档说明来开展安装以及配置操作。

要点归纳: 借由本文的阐述, 我们知晓了运用和模块开展接口自动化测试的方法。借助一个实战项目, 演示了测试用例的编写流程以及执行进程, 还简略介绍了处理接口关联问题的方式。于实际项目当中, 我们还得依据具体的接口文档以及业务逻辑去编写更为完备的测试用例, 从而保证应用程序的稳定性与可靠性。

相关推荐
zhangduang_KHKW7 小时前
ISO 26262功能安全标准解析与测试用例设计
测试用例
霍格沃兹测试学院-小舟畅学8 小时前
AI+Swagger:一键生成500条pytest接口用例
人工智能·pytest
jingli93 天前
一个测试用例把连接池卡死 30 秒:SQLite 连接池 max_size=1 下的重入自锁复盘
jvm·sqlite·测试用例
把头塞进显示器9 天前
电商平台-测试报告
python·selenium·pytest
啄缘之间10 天前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
2302_8057710713 天前
Day13Jmeter数据驱动
功能测试·单元测试·测试用例·需求分析·测试
2302_8057710713 天前
Day14Jmeter+数据库的操作
功能测试·单元测试·测试用例·需求分析
2302_8057710713 天前
Day18在接口自动化测试中引入pytest用例管理框架
功能测试·单元测试·测试用例·需求分析·测试
昔我往昔14 天前
pytest日志问题排查记录
python·pytest
梧桐凰15 天前
AI 时代测试工程师的武器库:实战工具指南
人工智能·功能测试·测试用例