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}")