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目錄不存在,詳細信息如下:\n{e}')
for i in os.listdir(OUTPUTS_DIR):
    if 'png' in i:
        os.unlink(i)

os.chdir(MAIN_DIR)  # 切換到項目根目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM