请说明采用 Requests 库对返回 JSON 数据格式的接口进行测试的具体做法,包括请求发送、数据校验和断言等步骤。
考察说明
考查候选人使用 Requests 库进行接口测试的实操能力,重点在于处理 JSON 响应和断言。
回答思路
- 【回答框架 1】使用 Requests 库发送 HTTP 请求,通常用 GET 或 POST 方法,携带必要的参数或请求体,设置超时和 headers。对于 JSON 数据,可设置 Content-Type 为 application/json,并使用 json 参数自动序列化 Python 字典。
- 【回答框架 2】获取响应后,通过 response.json() 方法将响应体解析为 Python 字典或列表,便于后续断言。断言内容包括状态码、响应头、业务字段值、字段类型和数据完整性等,可使用 pytest 或 unittest 的断言方法。
- 【回答框架 3】对于复杂 JSON 结构,可遍历嵌套字段,或使用 JSONPath、递归函数等方式提取关键值。若接口涉及动态数据,可先运行一次获取示例,再设计断言。
- 【回答框架 4】为提升测试可维护性,可将接口地址、参数和断言数据配置化,封装公共请求函数,并结合 pytest 的 fixture 实现参数化,便于扩展和复用。
- 【关键点 1】使用 response.json() 解析 JSON 响应,确保响应格式正确。
- 【关键点 2】断言时结合状态码和关键业务字段,避免只看状态码。
- 【关键点 3】利用参数化与 fixture 提高用例复用性。
- 【易错点 1】误将 response.text 直接当字符串处理,忽略 JSON 结构。
- 【易错点 2】只断言状态码,忽略业务字段的校验。
- 【易错点 3】未处理 JSON 解析异常或网络错误,导致测试不稳定。