接口自动化之pytest+allure报告效果展示
log:pytest的一些依赖库及插件相关知识点自行百度报告效果图目的报告可读性强,用例场景层级清晰,接口报错可以快递定位报告内容包括:用例级下多场景展示,每条用例请求的必备参数及相关结果附件展示实现代码# -*- coding:utf-8 -*-# @FileName:tenant.py# @Author:YYQ# @Desc:在一台超级计算机上运行过的牛逼Python代码import pyte
·
log:
pytest的一些依赖库及插件相关知识点自行百度
报告效果图

目的
报告可读性强,用例场景层级清晰,接口报错可以快递定位
报告内容包括:用例级下多场景展示,每条用例请求的必备参数及相关结果附件展示
实现代码
# -*- coding:utf-8 -*-
# @FileName:tenant.py
# @Author :YYQ
# @Desc :在一台超级计算机上运行过的牛逼Python代码
import pytest
from common.log import logging
import allure
from common.read_config import rc
from common.allure_config import result
from common.http_request import http_request
test_datas = [({"tenant": "qiushi6", "platCode": "YOUZAN", "shopId": "91554527"}, "200", "场景一、请求参数正确,返回正常"),
({"platCode": "YOUZAN1", "shopId": "91554527"}, "200", "场景二、请求参数异常,程序处理返回正常"),
({"tenant": "qiushi6"}, "200", "场景三、请求参数只有租户,返回正常")]
# 用例标题栏
@allure.feature("查询卡接口")
class Test_Web():
# 前置后置管理
@pytest.fixture()
def card_search(self):
logging.info("开始执行【查询卡用例】用例")
yield
logging.info("用例执行结束")
@pytest.mark.test # 接口标记
@pytest.mark.flaky(reruns=3, reruns_delay=1) #失败重试
@pytest.mark.parametrize("param,expected,title", test_datas) #数据参数化
def test_search_card02(self, card_search, param, expected, title):
"""下面这些都是单独封装的一些公共处理逻辑,http请求、附件保存、结果断言"""
_M, _U, _T = rc.interface(service="INTERFACE_SERVICE", paths="card_search")
_R, _C, _T = http_request(method=_M, url=_U, param=param, headers=_T)
result(_R,'实际结果', 'json', _C, expected, title, _U, _M, param)
if __name__ == '__main__':
pytest.main(['-s', '--alluredir=result/report','--clean-alluredir'])
# pytest -s --alluredir=result/report --clean-alluredir 执行前每次清空上次数据
# allure generate result/report 用例结果回填到报告里面
更多推荐



所有评论(0)