痛點分析:
當我們每次執行完用例的時候,如果出現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) # 切換到項目根目錄