编辑
2025-08-14
测试
00
请注意,本文编写于 113 天前,最后修改于 113 天前,其中某些信息可能已经过时。

目录

接口自动化的初识
什么是 requests 库?
requests 与自动化测试的关系
接口测试的核心工具
简化测试脚本编写
发送一个带 JSON 数据的 POST 请求:
支持复杂场景的自动化
与测试框架结合

接口自动化的初识

什么是 requests 库?

requests 是 Python 中一个流行的第三方库,专门用于发送 HTTP 请求(如 GET、POST、PUT、DELETE 等),并处理服务器返回的响应。它封装了 Python 内置的 urllib 库,提供了更简洁、易用的 API,让开发者可以轻松实现与 Web 服务器的通信。
通俗点来说,requests 是一个 “模拟浏览器” 的工具 —— 你可以用它向指定的 URL 发送请求(带参数、表单、 headers 等),然后获取服务器返回的状态码、响应体(如 JSON、HTML)等数据。

requests 与自动化测试的关系

在自动化测试中,requests 主要用于 接口自动化测试,是接口测试的核心工具之一,两者的关系体现在以下几个方面:

接口测试的核心工具

现代软件系统(尤其是前后端分离架构)中,接口(API)是模块间、服务间通信的核心。自动化测试需要验证这些接口是否按照预期工作(如返回正确的状态码、数据格式、业务逻辑等)。 requests 可以模拟客户端向接口发送请求(如调用登录接口时发送账号密码,调用查询接口时传递参数),并获取响应结果,从而实现对接口的自动化验证。

简化测试脚本编写

相比 Python 内置的 urllib,requests 的语法更简洁,能大幅减少测试代码量。例如:

import requests response = requests.get("https://api.example.com/user", params={"id": 123})

发送一个带 JSON 数据的 POST 请求:

response = requests.post("https://api.example.com/login", json={"username": "test", "password": "123"})

这些代码可以直接集成到测试用例中,配合断言(如 assert response.status_code == 200)验证结果。

支持复杂场景的自动化

在实际测试中,接口往往存在依赖关系(如 “登录后才能调用下单接口”)。requests 可以保存和传递 cookies 或 token,轻松处理这类场景:

1. 登录获取 token login_response = requests.post("https://api.example.com/login", json={"username": "test", "password": "123"}) token = login_response.json()["token"] 2. 携带 token 调用下单接口 headers = {"Authorization": f"Bearer {token}"} order_response = requests.post("https://api.example.com/order", json={"goods_id": 456}, headers=headers)

与测试框架结合

requests 可以无缝集成到 Python 测试框架(如 pytest、unittest)中,实现测试用例的组织、批量执行、报告生成等自动化流程。例如,用 pytest 编写接口测试用例:

import pytest import requests def test_login_success(): response = requests.post("https://api.example.com/login", json={"username": "test", "password": "123"}) assert response.status_code == 200 assert "token" in response.json()

本文作者:haotian

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!