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/    ******* 

  • 相关阅读:
    python note 30 断点续传
    python note 29 线程创建
    python note 28 socketserver
    python note 27 粘包
    python note 26 socket
    python note 25 约束
    Sed 用法
    python note 24 反射
    python note 23 组合
    python note 22 面向对象成员
  • 原文地址:https://www.cnblogs.com/wuzm/p/12592431.html
Copyright © 2011-2022 走看看