python接口自动化入门级pytest
时间: 2024-09-10 11:17:50 浏览: 46
【Python-Web自动化-08课-Pytest入门】
Python接口自动化测试通常使用`pytest`库,它是一个流行的测试框架,特别适合编写单元测试和集成测试。对于接口自动化,`pytest-httpserver`是一个有用的插件,它可以模拟HTTP服务器的行为,方便我们测试API接口。
入门级步骤如下:
1. **安装pytest**:首先需要确保已经安装了Python和pip,然后在命令行中运行 `pip install pytest` 安装pytest。
2. **设置基础环境**:安装`pytest-httpserver`,使用命令 `pip install pytest-httpserver`。此外,如果接口依赖于特定的数据结构或JSON,可能还需要`jsonschema`等库。
3. **编写测试文件**:创建一个新的Python文件,例如`test_api.py`,导入所需的模块如`pytest`, `requests` 和 `httpx` 或者 `pytest_httpserver`.
4. **创建测试函数**:每个测试函数代表一个接口请求的场景。比如,你可以使用`pytest.mark.parametrize`装饰器来提供多个URL和期望响应的例子:
```python
from httpx import AsyncClient
import pytest
@pytest.mark.asyncio
async def test_get_user(api_server):
url = api_server.url / "users"
response = await AsyncClient().get(url)
assert response.status_code == 200
# 检查返回数据是否符合预期,比如JSON内容、字段等
assert response.json() == {"name": "John Doe", "id": 1}
```
5. **启动测试服务器**:在测试文件开头,使用`pytest_httpserver`创建一个本地HTTP服务器,供测试函数使用。示例代码:
```python
def pytest_configure(config):
config.add渎职('api_server', fixture=True)(pytest_httpserver.HTTPServer)
```
6. **运行测试**:通过命令行运行`pytest test_api.py`,框架会自动启动服务器并执行测试。
阅读全文