接口测试pytest获取返回值断言
时间: 2024-11-28 17:19:21 浏览: 24
在Python中,接口测试通常会利用第三方测试框架pytest来进行。如果你需要对HTTP请求(比如REST API)的结果进行返回值断言,可以结合requests库来发送请求,并使用pytest提供的assert功能检查响应。
首先,确保安装了`pytest`、`requests`库:
```bash
pip install pytest requests
```
然后,在编写测试用例时,你可以这样做:
```python
import pytest
import requests
def test_api_response():
url = "http://your-api-url.com/api-endpoint"
response = requests.get(url)
# 断言状态码
assert response.status_code == 200
# 如果返回的是json数据,可以用json()方法解析并进行更详细的断言
data = response.json()
assert 'key' in data and data['key'] == 'expected_value'
# 对于期望的特定返回值,可以设置fixture
@pytest.fixture
def expected_data():
return {'key': '预期结果'}
def test_api_content(expected_data):
assert response.json() == expected_data
# 调用测试函数
test_api_content()
```
在这个例子中,`response.status_code`用于检查HTTP响应的状态码,如果返回的不是200,那么断言就会失败。对于JSON格式的响应,我们使用`response.json()`将其转换成字典,然后进一步比较实际值和预期值。
记得在每个测试函数前加上`@pytest.mark.parametrize`或其他pytest装饰器来提供多种测试情况,或者针对不同的URL和预期结果进行测试。
阅读全文