使用python的requests、pytest、allure-pytest库进行接口自动化测试
下面将详细介绍如何结合 Python 的requests
、pytest
和Allure
来实现接口自动化测试,主要分为以下几个步骤:
1. 环境准备
首先需要安装所需的库,可以使用pip
进行安装:
1 | pip install requests pytest allure-pytest |
import requests# 定义接口测试类class TestAPI: # 测试获取用户信息接口的方法 def test_get_user_info(self): # 定义接口的 URL url =‘https://jsonplaceholder.typicode.com/users/1’ # 发送 GET 请求 response = requests.get(url) # 断言响应状态码是否为 200 assert response.status_code ==200 # 断言响应数据是否包含 ‘name’ 字段 assert ‘name’ in response.json()
1 | ### 3. 运行测试用例 |
pytest test_api.py --alluredir=./allure-results
1 |
|
allure generate ./allure-results -o ./allure-report --clean
1 |
|
allure open ./allure-report
1 |
|
import requestsimport allureimport pytest@allure.feature(‘用户信息接口测试’)class TestAPI: @allure.story(‘获取单个用户信息’) @allure.title(‘验证获取用户信息接口是否正常’) @allure.description(‘该测试用例用于验证获取用户信息接口的响应状态码和响应数据是否符合预期’) def test_get_user_info(self): url =‘https://jsonplaceholder.typicode.com/users/1’ response = requests.get(url) assert response.status_code ==200 assert ‘name’ in response.json()
1 | #### 5.2 处理测试用例的前置和后置操作 |
import requestsimport allureimport pytest@pytest.fixturedef setup(): # 前置操作 print(“开始测试”) yield # 后置操作 print(“测试结束”)@allure.feature(‘用户信息接口测试’)class TestAPI: @allure.story(‘获取单个用户信息’) @allure.title(‘验证获取用户信息接口是否正常’) @allure.description(‘该测试用例用于验证获取用户信息接口的响应状态码和响应数据是否符合预期’) def test_get_user_info(self, setup): url =‘https://jsonplaceholder.typicode.com/users/1’ response = requests.get(url) assert response.status_code ==200 assert ‘name’ in response.json()
通过以上步骤,你就可以结合requests
、pytest
和Allure
实现接口自动化测试,并生成详细的测试报告。
