用python写一个基于pytest的接口自动化测试框架
时间: 2024-05-08 21:15:06 浏览: 186
以下是一个基于pytest的接口自动化测试框架的示例代码:
```
# conftest.py
import pytest
import requests
@pytest.fixture(scope='session')
def api_client():
return requests.Session()
# test_api.py
import pytest
class TestAPI:
@pytest.mark.parametrize('user_id', [1, 2, 3])
def test_get_user(self, api_client, user_id):
response = api_client.get(f'https://example.com/api/users/{user_id}')
assert response.status_code == 200
assert response.json()['id'] == user_id
def test_create_user(self, api_client):
data = {'name': 'John Doe', 'email': 'john.doe@example.com'}
response = api_client.post('https://example.com/api/users', json=data)
assert response.status_code == 201
assert response.json()['name'] == data['name']
assert response.json()['email'] == data['email']
```
这个框架使用了pytest的fixture机制来创建一个API客户端对象,然后在测试用例中使用这个对象来发送请求。测试用例使用了pytest的参数化机制来测试不同的用户ID。这个框架可以根据需要进行扩展,例如添加测试数据的生成、结果比较、报告生成等功能。
阅读全文