【python接口自动化】pytest.main生成html测试报告

【python接口自动化】pytest.main生成html测试报告,第1张

 先下载pytest-html的包,如下图所示:

项目结构如下:

utils.py部分代码如下:

import re
import time, csv, os
import requests

base_path = os.path.dirname(os.path.dirname(__file__))  # 项目基本路径
case_path = os.path.join(base_path, 'case')  # 测试脚本所在目录
data_path = os.path.join(base_path, 'data')  # 测试用例所在目录
report_path = os.path.join(base_path, 'report')  # 测试报告所在目录


def get_time():
    t = time.strftime('%Y-%m-%d %H_%M_%S')
    return t

run.py代码如下:

import pytest
from pytest_test.test_interface.common.utils import *

t = get_time()  # 获取当前时间
pytest.main(['-v', f'--html={report_path}/test.html', case_path]) 

# case_path为要执行的测试用例的目录,执行后会在report目录下生成test.html

 想生成当前时间命名的html,代码如下:

import pytest
from pytest_test.test_interface.common.utils import *

t = get_time()  # 获取当前时间
pytest.main(['-v', f'--html={report_path}/{t}.html', case_path])

之前报错如下,是因为 utils.py中的get_time()方法中格式化代码为:

def get_time():
    t = time.strftime('%Y-%m-%d %X')
    return t

这种情况下,生成的时间格式为 2022-04-26 19:45:20,windows 下文件名中不能出现以下特殊字符【?*:"<>/|】,在使用open with 读写文件时,文件名中就不能
包含上述关键字。只要修改为其他字符即可解决。故修改后代码如下:

def get_time():
    t = time.strftime('%Y-%m-%d %H_%M_%S')
    return t

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/737458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存