• pytest 测试报告定期删除


    我们在服务器部署自动化测试框架时,随着运行次数的增加,不可避免的就是测试报告的冗余

    下面方法便可定期进行数据报告的删除

    在pytest框架中可引入 fixture函数,进行每次用例执行前后调用此方法,fixture为pytest的精髓所在,详细用法不做解释,可参考官方使用文档

    # 报告删除1
    @pytest.fixture(scope='session')
    def Clear_logs(N):
    N=3
    file_list = get_all_file()
    # 遍历报告文件列表
    for file in file_list:
    if file.startswith('../report') and len(file) <= 37:
    # 拆分时间后缀
    f = os.path.split(file)[1]
    t = f[-19:-9]

    # 判断是否大于前N天时间,单位为:秒
    if time.time() - StrToTimestamp(t) >= 24 * 60 * 60 * int(N):
    print('当前删除文件夹: %s' % file)
    # 递归删除
    shutil.rmtree(file)

    # 返回目标日志文件下的文件夹列表2
    def get_all_file(path='../reports/'):
    file_list = []
    # 向下遍历报告文件夹,cur_path:根目录 ,cur_dirs:子级文件夹 ,cur_files: ,
    for cur_path, cur_dirs, cur_files in os.walk(path):
    for name in cur_dirs:
    file_list.append(os.path.join(cur_path, name))
    return file_list

    # 格式化时间转时间戳3
    def StrToTimestamp(Str=None, format='%Y-%m-%d'):
    # 格式化时间转时间戳:
    if Str:
    # 时间字符串解析为时间元组。
    timep = time.strptime(Str, format)
    res = time.mktime(timep)
    else:
    res = time.time()
    return int(res)
  • 相关阅读:
    微服务架构常见解决方案
    摆脱他人的期望,成为真正的自己
    Git忽略提交规则
    JPA多数源的一种方式
    jquery设置的cookie过期时间关闭浏览器就失效
    使用jQuery操作Cookies的实现代码(转)
    Linux下查看文件和文件夹大小
    nginx下默认403 80端口
    linux下 nginx服务脚本
    一串代码在linux上安装nginx
  • 原文地址:https://www.cnblogs.com/sunzzc/p/14919599.html
Copyright © 2020-2023  润新知