1. 安装依赖模块
在开始编写测试框架前,需要先安装以下依赖模块:
我们可以通过命令行安装:
pip install requests pytest allure-pytestsh
在开始编写测试用例前,我们需要先建立目录结构。这里我们建立如下目录结构:
- api
|- __init__.py
|- user.py
- tests
|- __init__.py
|- test_user.py
- report
其中,api
目录用于存放封装了API请求的模块,tests
目录用于存放测试用例,report
目录用于存放测试报告。
在api
目录下新建一个user.py
文件,用于封装用户相关的API请求。这里我们假设接口文档中有以下三个接口:
import requests
class UserAPI:
def __init__(self, base_url):
self.base_url = base_url
def get_user_list(self):
url = f"{self.base_url}/api/users"
resp = requests.get(url)
return resp.json()
def create_user(self, data):
url = f"{self.base_url}/api/users"
resp = requests.post(url, json=data)
return resp.json()
def delete_user(self, user_id):
url = f"{self.base_url}/api/users/{user_id}"
resp = requests.delete(url)
return resp.json()python
在tests
目录下新建一个test_user.py
文件,用于编写测试用例。这里我们使用pytest
框架来执行测试用例,对于每个测试用例,我们需要实例化UserAPI
类,然后调用对应的API方法进行测试。
import pytest
from api.user import UserAPI
@pytest.fixture(scope="module")
def api():
return UserAPI(base_url="http://localhost:8080")
def test_get_user_list(api):
resp = api.get_user_list()
assert(resp["code"] == 200)
assert(len(resp["data"]) > 0)
def test_create_user(api):
data = {"name": "test user", "email": "[email protected]"}
resp = api.create_user(data)
assert(resp["code"] == 200)
assert(resp["data"]["id"] is not None)
def test_delete_user(api):
data = {"name": "test user 2", "email": "[email protected]"}
resp = api.create_user(data)
assert(resp["code"] == 200)
user_id = resp["data"]["id"]
resp = api.delete_user(user_id)
assert(resp["code"] == 200)python
在命令行中执行以下命令,即可执行测试用例:
pytest --alluredir=reportsh
其中,--alluredir
参数指定了测试报告的存储路径。
执行完测试用例后,可以使用以下命令来生成测试报告:
allure serve reportsh
这里我们使用了allure
命令来启动一个本地的Web服务器,然后在浏览器中打开http://localhost:port
即可查看测试报告。
以上就是一个基于Python语言的接口自动化测试框架,并使用Allure输出测试报告的整个流程。当然,这只是一个简单的示例,实际项目中可能需要考虑更多的因素,比如接口响应时间、并发测试等。