2.8 allure报告定制

该Python脚本(`main.py`)主要用于在不同的环境(dev,test,prd)下运行测试,使用MD5校验过滤并创建测试用例文件,执行pytest生成allure报告。之后,它会从`resource`目录复制文件到报告目录,覆盖原有的报告文件,最后打开allure报告进行查看。
摘要由CSDN通过智能技术生成

Description展示响应部分
Parameters展示请求部分

效果如下

 main.py运行时把resource目录中的文件复制一份,替换报告中的文件

地址:https://github.com/wxwcd/allure_report

resource目录内容如下

 

 main.py

import os
from config.config import setting
from utils.template import Template
from utils.md5 import Md5
import pytest
from utils.type_check import CheckType
import shutil
from utils.delete import del_files


def run():
    data = os.listdir('data')
    m = Md5('case', 'log', 'case_md5.json')
    n = Md5('utils', 'log', 'template_md5.json')
    filter_list = m.filter()
    utils_list = n.filter()
    if 'template.py' not in utils_list:
        filter_list = []
        n.write_md5()
    for i in data:
        file_path = 'data' + '/' + i
        if os.path.isfile(file_path):
            temp = 'test_' + i
            if temp not in filter_list:
                Template.create_test_file(file_path, 'case')
    m.write_md5()


if __name__ == "__main__":
    import sys

    CheckType.check('data', Template)
    if sys.argv[1] == 'dev':
        setting['baseUrl'] = setting['dev']
    elif sys.argv[1] == 'test':
        setting['baseUrl'] = setting['test']
    elif sys.argv[1] == 'prd':
        setting['baseUrl'] = setting['prd']
    else:
        raise Exception("the command must be like 'python main.py dev | test | prd'")
    run()
    del_files('results')
    pytest.main(['-s', '--alluredir=results'])
    os.system('allure generate --clean ./results/ -o ./report/')
    for file_name in os.listdir('resource'):
        src_file = os.path.join('resource', file_name)
        dst_file = os.path.join('report', file_name)
        if os.path.exists(dst_file):
            os.remove(dst_file)
        shutil.copy(src_file, 'report')
    os.system('allure open -h 127.0.0.1 -p 8883 ./report/')

utils/delete.py

import os


def del_files(dir_path: str):
    if os.path.exists(dir_path):
        for filename in os.listdir(dir_path):
            filepath = os.path.join(dir_path, filename)
            try:
                if os.path.isfile(filepath):
                    os.unlink(filepath)
            except Exception as e:
                print(f"Error deleting {filepath}: {e}")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值