python+requests+excel+pytest+allure接口自动化
时间: 2023-08-28 07:08:03 浏览: 217
Python是一种广泛使用的编程语言,因其易学易用、灵活性和可扩展性而备受欢迎。requests是Python的一个库,它提供了一种简单且易于使用的方式来发送HTTP请求。pytest是Python的另一个库,它提供了一种用于编写和运行测试的框架。allure是一个测试报告生成工具,可以为测试结果提供美观和易读的报告。
在接口自动化测试中,可以使用Python的requests库来发送HTTP请求,并使用pytest框架来编写和运行测试。可以使用Excel来存储测试数据、预期结果和实际结果。使用allure工具可以生成美观的测试报告。
以下是使用Python requests、pytest和allure进行接口自动化测试的一般步骤:
1. 安装Python、requests、pytest和allure
2. 创建一个Excel文件,输入测试数据、预期结果和实际结果
3. 创建一个pytest测试文件,并使用requests库发送HTTP请求,比较预期结果和实际结果
4. 在pytest测试文件中添加allure装饰器,以便生成测试报告
5. 运行pytest测试文件并生成allure测试报告
例如,以下是一个使用Python requests、pytest和allure进行接口自动化测试的示例代码:
```python
import requests
import pytest
import allure
import openpyxl
@allure.title("测试接口")
@pytest.mark.parametrize("test_input, expected", [(1, "success"), (2, "fail")])
def test_api(test_input, expected):
# 从Excel文件中获取测试数据和预期结果
wb = openpyxl.load_workbook("testdata.xlsx")
sheet = wb.active
test_data = sheet.cell(row=test_input, column=1).value
expected_result = sheet.cell(row=test_input, column=2).value
# 发送HTTP请求
response = requests.get("http://example.com/api", params=test_data)
actual_result = response.text
# 比较预期结果和实际结果
assert actual_result == expected_result, f"预期结果:{expected_result},实际结果:{actual_result}"
# 添加allure描述
allure.attach("请求参数", str(test_data))
allure.attach("预期结果", str(expected_result))
allure.attach("实际结果", str(actual_result))
```
在上面的代码中,使用了pytest的parametrize装饰器来传递测试数据和预期结果。使用openpyxl库从Excel文件中获取测试数据和预期结果。使用requests库发送HTTP请求并比较预期结果和实际结果。使用allure的装饰器来添加测试描述。最后,运行pytest测试文件并生成allure测试报告。
阅读全文