先下载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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)