当前位置:实例文章 » Python实例» [文章]Python3+requests搭建接口自动化测试框架

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 等功能,可以进一步优化测试过程。

相关标签:python接口
其他信息

其他资源

Top