网站横条广告,做慧聪网站多少钱,北京制作app,企业申报系统最近在用PythonPytestAllure搭建接口自动化测试框架
具体的框架要求#xff1a;
1#xff0c;使用Pytest进行测试用例编写和执行
2#xff0c;使用Allure生成漂亮的测试报告
3#xff0c;并且要求有断言方法
初步的框架设计如下#xff0c;后期可以进一步添加很多功能…最近在用PythonPytestAllure搭建接口自动化测试框架
具体的框架要求
1使用Pytest进行测试用例编写和执行
2使用Allure生成漂亮的测试报告
3并且要求有断言方法
初步的框架设计如下后期可以进一步添加很多功能
import pytest
import requests
import allure# 接口地址
BASE_URL https://www.xxx.com# 示例接口函数
def get_user_info(user_id):url f{BASE_URL}/users/{user_id}response requests.get(url)return response.json()# 测试用例
pytest.mark.parametrize(user_id, [1, 2, 3])
def test_get_user_info(user_id):with allure.step(调用接口获取用户信息):user_info get_user_info(user_id)with allure.step(断言用户信息):assert user_info[id] user_id# Pytest的fixture用于在测试用例执行前后进行一些操作
pytest.fixture(scopesession)
def setup_allure():allure_dir allure-resultsallure_report_dir allure-reportallure.clean_reports(allure_dir)allure.clean_results(allure_dir)allure.environment(reporttrue)yieldallure_cmd fallure generate {allure_dir} -o {allure_report_dir} --cleanallure_cmd allure open --port 8080 allure-reportallure_cmd allure serve allure-resultsallure_cmd allure report cleanallure_cmd f rm -rf {allure_dir}allure_cmd f rm -rf {allure_report_dir}allure_cmd allure results cleanos.system(allure_cmd)# 执行测试
if __name__ __main__:pytest.main([-s, -v, --alluredirallure-results])在这个框架中首先定义了一个基本的接口测试用例 test_get_user_info用于测试 get_user_info 函数是否能够正确返回用户信息。
另外使用 pytest.mark.parametrize 装饰器来指定多个用户ID作为参数进行测试。在测试用例中可以使用 allure.step 来定义测试步骤以便在Allure报告中展示清晰的测试步骤。
此外这个框架还定义了一个 setup_allure fixture用于在测试执行前清理旧的Allure结果并在测试执行后生成Allure报告并使用Allure命令行工具打开报告或服务报告。