Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python+pytest接口自动化

作者:战神再世   发布日期:2026-05-14   浏览:92

# 导入必要的库
import requests
import pytest

# 定义一个简单的测试类,用于接口自动化测试
class TestAPI:
    # 初始化方法,可以在这里设置一些全局变量或配置
    def setup_class(self):
        self.base_url = "https://api.example.com"  # 替换为实际的API地址

    # 测试获取用户信息的接口
    def test_get_user_info(self):
        url = f"{self.base_url}/user/12345"  # 用户ID为12345
        response = requests.get(url)

        # 断言状态码为200
        assert response.status_code == 200, f"请求失败,状态码为 {response.status_code}"

        # 解析响应数据
        user_data = response.json()

        # 断言用户名是否正确
        assert user_data["username"] == "test_user", "用户名不匹配"

    # 测试创建用户的接口
    def test_create_user(self):
        url = f"{self.base_url}/user"
        new_user = {
            "username": "new_user",
            "email": "new_user@example.com"
        }
        response = requests.post(url, json=new_user)

        # 断言状态码为201(表示创建成功)
        assert response.status_code == 201, f"创建用户失败,状态码为 {response.status_code}"

        # 解析响应数据
        created_user = response.json()

        # 断言返回的用户名是否正确
        assert created_user["username"] == "new_user", "创建的用户名不匹配"

# 运行pytest时会自动发现并执行这些测试用例
if __name__ == "__main__":
    pytest.main(["-v"])

解释说明:

  1. 导入库:我们导入了 requests 库用于发送HTTP请求,以及 pytest 库用于编写和运行测试。
  2. 定义测试类TestAPI 类中包含了多个测试方法。每个方法都是一个独立的测试用例。
  3. 初始化方法setup_class 方法在所有测试开始前执行一次,通常用于设置一些全局配置。
  4. 测试用例
    • test_get_user_info:测试获取用户信息的接口,断言返回的状态码和用户名是否符合预期。
    • test_create_user:测试创建用户的接口,断言创建是否成功以及返回的用户名是否正确。
  5. 运行测试:使用 pytest.main() 可以手动运行测试,-v 参数表示详细输出。

如果你有任何问题或需要进一步的帮助,请随时告诉我!

上一篇:input().split()在python中的用法

下一篇:python pwd

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python的assert基本用法

python开发windows应用程序

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站