Python3+requests搭建接口自动化测试框架
发布人:shili8
发布时间:2024-10-30 15:44
阅读次数:0
**Python3 + requests 搭建接口自动化测试框架**
在软件开发过程中,接口自动化测试是保证系统稳定性和可靠性的关键环节。使用 Python3 和 requests 库搭建一个接口自动化测试框架可以大大提高测试效率和准确性。
**环境准备**
* Python3.x* requests库(pip install requests)
* pytest库(pip install pytest)
**测试框架结构**
markdown# tests # test_cases # case1.py # case2.py # conftest.py # test_api.py
* `test_cases`目录存放具体的测试用例。
* `conftest.py`文件用于定义全局变量和函数,供所有测试用例使用。
* `test_api.py`文件用于定义接口自动化测试框架的核心逻辑。
**案例:**
### case1.py
# -*- coding: utf-8 -*- import requestsdef test_get_user(): url = " /> response = requests.get(url) assert response.json()["name"] == "Leanne Graham" if __name__ == "__main__": test_get_user()
### conftest.py
# -*- coding: utf-8 -*- import pytest@pytest.fixture(scope="session") def base_url(): return " /> @pytest.fixture(scope="function") def get_token(base_url): url = f"{base_url}users/1" response = requests.get(url) token = response.json()["token"] return token
### test_api.py
# -*- coding: utf-8 -*- import pytestfrom conftest import base_url, get_tokendef test_get_user(base_url): url = f"{base_url}users/1" response = requests.get(url) assert response.json()["name"] == "Leanne Graham" def test_post_user(get_token): url = f"{base_url}users/" headers = {"Authorization": f"Bearer {get_token}"} data = {"name": "John Doe", "email": "john@example.com"} response = requests.post(url, headers=headers, json=data) assert response.status_code ==201
**测试用例执行**
bashpytest -v tests/
在终端中执行上述命令,会自动发现并运行所有测试用例。
**总结**
本文介绍了如何使用 Python3 和 requests 库搭建一个接口自动化测试框架。通过定义全局变量和函数(conftest.py),以及具体的测试用例(test_cases目录),可以大大提高测试效率和准确性。
**注意事项**
* 在实际项目中,需要根据具体需求调整测试框架结构和逻辑。
* 使用 pytest 库提供的 fixture 和 marker 等功能,可以进一步优化测试过程。