痛点分析:

  当我们每次执行完用例的时候,如果出现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目录不存在,详细信息如下:\n{e}')
for i in os.listdir(OUTPUTS_DIR):
if 'png' in i:
os.unlink(i) os.chdir(MAIN_DIR) # 切换到项目根目录

pytest框架优化——清理历史截图图片和allure报告文件的更多相关文章

  1. pytest框架优化——将异常截屏图片加入到allure报告中

    痛点分析: 在做allure定制化的时候,关于附件添加这一块,我们在代码里可以添加我们准备好的附件,这里用图片,通过下面的方法就能实现 allure.attach(file, '图片描述', allu ...

  2. 框架优化系列文档:SVN中非版本控制文件忽略上传的设置

    对于SVN代码库,只应该上传源代码.资源文件等内容进行版本管理,通常编译后的二进制文件.程序包等生成产物是不应该放到SVN上做版本管理的.因此在svn的客户端工具中设置svn的属性:svn:ignor ...

  3. pytest框架之allure报告生成

    一.关于安装 allure是跟pytest一起集成使用的,所以需要同时安装pytest以及allure-pytest插件: pip install pytest pip install allure- ...

  4. 严选 Android 路由框架优化(上篇)

    0 背景 早前严选 Android 工程,使用原生 Intent 方式做页面跳转,为规范参数传递,做了编码规范,使用静态方法的方式唤起 Activity public static void star ...

  5. 如何在使用eclipse的情况下,清理android项目中的冗余class文件和资源文件以及冗余图片

    在我们迭代项目的过程中,经常会启用某些功能,或者修改某些界面的问题,那么问题来了,这样很容易出现大量的冗余.java文件,冗余资源文件,一些冗余的界面文件等.那么问题既然出现了,那么如何去解决呢,这就 ...

  6. 【Pytest01】全网最全最新的Pytest框架快速入门

    一.Pytest简介pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:1.简单灵活,容易上手,支持参数化2.能够支持简单的单元测试和复杂的功能测试,还可以用来做seleni ...

  7. pytest框架使用教程

    Pytest框架 一.简介 pytest:基于unittest之上的单元测试框架 有什么特点? 自动发现测试模块和测试方法 断言更加方便,assert + 表达式,例如 assert 1 == 1 灵 ...

  8. 『德不孤』Pytest框架 — 9、Pytest测试报告

    目录 1.pytest-html插件 2.Allure测试报告 (1)Allure框架说明 (2)Allure框架的使用 1.pytest-html插件 Pytest可以通过命令行方式,生成xml/h ...

  9. 『德不孤』Pytest框架 — 11、Pytest中Fixture装饰器(一)

    目录 1.Fixture装饰器的用途 2.Fixture参数说明 3.Fixture装饰器简单应用 4.yield执行后置函数 1.Fixture装饰器的用途 做测试前后的初始化设置,如测试数据准备, ...

随机推荐

  1. vue 脚手架

    Vue 脚手架的基本用法 1. 基于 3.X 版本的脚手架 创建vue项目 命令行(CLI) 的方式创建 vue 项目 vue create my-project 图形化界面(GUI) 的方式创建 v ...

  2. docx和doc的区别

    docx和doc这两者间就相差一个字母x,可就是这一个简简单单的x有时候也会引申出很多的问题,比如这个案例,在一次研究生期末考试的考查课上,老师要求每个人事先结合自己的思路以及该课程,写一篇报告总结, ...

  3. linux 常用命令及软件

    命令基于ubuntu 18.04 修改网卡配置 /etc/netplan/50-cloud-init.yaml #修改 netplan apply #应用修改 修改计算机名 sudo hostname ...

  4. 苹果 macOS 安装 Source Code Pro

    1. 下载     到 Source Code Pro 的 GitHub 官网下载:https://github.com/adobe-fonts/source-code-pro 点击 GitHub 中 ...

  5. 54. Spiral Matrix && 59. Spiral Matrix II

    Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral ord ...

  6. java 主动信任证书

    java 主动信任证书 SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, mid.toCharArray() ...

  7. distinct关键字对执行计划的影响

    一.前言 最近看到一段话,"count(distinct 列名)若列上有索引,且有非空约束或在where子句中使用is not null,则会选择索引快速全扫描.其余情况则选择全表扫描&qu ...

  8. PlayJava Day013

    今日所学: /* 2019.08.19开始学习,此为补档. */ 1.BufferedImage:是Image的一个子类,两者的主要作用就是将一副图片加载到内存中,即图像缓冲区. 对于本地图片: Fi ...

  9. Ubuntu Server中安装keepalived

    场景 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Kee ...

  10. 松软科技带你学开发:SQL--COUNT() 函数

    SQL COUNT() 语法 SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入): SELECT COUNT(col ...