python+requests接口自动化测试

Python 结合 Requests 库进行接口自动化测试是一种非常流行和有效的方法。Requests 库是 Python 中用于发送 HTTP 请求的一个简单易用的库,它支持多种 HTTP 请求方式,如 GET、POST、PUT、DELETE 等,并且可以方便地处理响应数据。下面我将介绍如何使用 Requests 库来进行接口自动化测试。

步骤 1: 安装 Requests 库
首先,确保你的 Python 环境中已经安装了 Requests 库。如果未安装,可以通过 pip 安装:
 

pip install requests


步骤 2: 编写测试脚本
引入 Requests 库
在你的 Python 脚本中,首先引入 Requests 库:
 

import requests


发送 HTTP 请求
假设我们要测试的接口是一个简单的 GET 请求接口,我们可以这样编写代码:
 

# 设置请求的 URL  url = 'http://example.com/api/data'   # 发送 GET 请求  response = requests.get(url)   # 检查响应状态码  if response.status_code == 200:      # 打印响应内容      print(response.text)  else:      # 打印错误信息      print(f"请求失败,状态码:{response.status_code}")

处理请求参数和头部
如果接口需要请求参数或 HTTP 头部,你可以这样添加:
 

# 发送带有请求参数的 GET 请求  params = {'key': 'value'}  response = requests.get(url, params=params)   # 发送带有头部的 POST 请求  headers = {'Content-Type': 'application/json'}  data = {'key': 'value'}  response = requests.post(url, json=data, headers=headers)


响应断言
在接口测试中,通常需要对响应内容进行断言,以确保返回的数据符合预期:

# 假设响应应该是 JSON 格式  try:      response_data = response.json()      # 假设我们期望返回的数据中有一个 'status' 字段且值为 'success'      assert response_data['status'] == 'success'      print("测试通过")  except AssertionError as e:      print(f"断言失败:{e}")  except Exception as e:      print(f"请求出错:{e}")

步骤 3: 编写测试套件

对于多个接口或多种场景的测试,你可以使用 Python 的 unittest 或 pytest 框架来组织和管理你的测试代码。
使用 unittest
 

import unittest  import requests   class TestAPI(unittest.TestCase):      def test_get_data(self):          url = 'http://example.com/api/data'          response = requests.get(url)          self.assertEqual(response.status_code, 200)          # 添加更多断言   if __name__ == '__main__':      unittest.main()

使用 pytest

import requests  import pytest   def test_get_data():      url = 'http://example.com/api/data'      response = requests.get(url)      assert response.status_code == 200      # 添加更多断言

然后在命令行中运行 pytest 命令来执行测试。
步骤 4: 自动化测试执行
将测试脚本集成到持续集成/持续部署(CI/CD)流程中,以便在每次代码提交或合并时自动执行测试,确保新代码不会破坏现有功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值