zoukankan      html  css  js  c++  java
  • pytest框架优化——清理历史截图图片和allure报告文件

    痛点分析:

      当我们每次执行完用例的时候,如果出现bug或者是测试脚本出了问题,一般会通过测试报告、异常截图、日志来定位分析,但是我们发现运行次数多了之后,异常截图和测试报告会不停地增多,对我们定位分析问题时造成了一定的困扰,因此我们希望每次执行用例前都提前清理掉对应目录下的文件

      

      

    解决方法:

      1.对于allure目录下的文件,因为名称和文件格式都不同,所以不能进行分类删除,因此我们要引入shutil模块

    import shutil

      使用shutil.rmtree(path)方法删除path下的所有文件内容(包括目录、递归目录、文件),该方法请谨慎使用!

      2.对于OutPuts下的异常截图图片,建议不要使用上面的方法,因为牵扯到很多目录及其它文件,异常截图图片都是.png格式,所以可以分类筛选删除,引入os模块

    import os

      使用os.unlink(path)方法删除path下的文件

      具体实现方法见如下代码:

    复制代码
    import os
    import shutil
    
    # 用例执行前清除OutPuts目录的异常截图图片
    MAIN_DIR = os.path.dirname(os.path.abspath(__file__))  # 项目根目录
    OUTPUTS_DIR = os.path.join(MAIN_DIR, 'OutPuts')  # OutPuts目录
    
    os.chdir(OUTPUTS_DIR)  # 切换到OutPuts目录
    
    try:
        shutil.rmtree('allure')  # 清空allure目录下的文件
    except FileNotFoundError as e:
        print(f'reports目录不存在,详细信息如下:
    {e}')
    for i in os.listdir(OUTPUTS_DIR):
        if 'png' in i:
            os.unlink(i)
    
    os.chdir(MAIN_DIR)  # 切换到项目根目录
    复制代码

    *******尊重作者,本文是本人转载自:https://www.cnblogs.com/xiaogongjin/    ******* 

  • 相关阅读:
    关于iOS开发property with 'retain(or strong)' attribute must be of object type
    机器学习之神经网络
    一些知名的开源社区
    机器学习之正则化
    机器学习之逻辑回归(logistic回归)
    机器学习之正规方程法
    机器学习之线性回归、多项式回归
    机器学习之梯度下降法
    64位windows7下安装python,配置numpy和matplotlib库
    mysql分区查询
  • 原文地址:https://www.cnblogs.com/wuzm/p/12592431.html
Copyright © 2011-2022 走看看