如何保證allure的測試報告是最新的

我的想法

每次運行測試的時候,先刪除測試結果集。
因爲每次運行測試都會在結果集目錄中追加生成.json文件。
然後使用allure generate命令的時候會從這些測試結果集中去生成HTML報告,所以即使添加了--clean參數,也無法保證每次報告都是最新的。
如果每次運行都把上一次運行的測試結果集刪除,然後生成HTML報告的時候,再加上--clean參數,就肯定能保證每次報告都是最新的。

import os

# ----------------這種方式刪除目錄,代碼有點長----------------
# 獲取當前的工作目錄
current_path = os.getcwd()

# 判斷當前目錄下是否存在allure測試結果集目錄, 如果存在則刪除
if os.path.exists(os.path.join(current_path, 'allure-results')):
    results_path = os.path.join(current_path, 'allure-results')
    for i in os.listdir(results_path):
        os.remove(os.path.join(results_path, i))
    os.removedirs(results_path)

os.system('pytest test_allure.py --alluredir=allure-results')
os.system('allure generate allure-results -o allure-report -c')
os.system('allure open allure-report')

# ----------------來個簡版的---------------
# 如果存在測試結果集目錄,則刪除
os.system('if exist "allure-results" (rd /s/q allure-results)')
os.system('pytest test_allure.py --alluredir=allure-results')
os.system('allure generate allure-results -o allure-report -c')
os.system('allure open allure-report')


# ----------------最簡版---------------
os.system('pytest test_allure.py --alluredir=allure-results  --clean-alluredir')
os.system('allure generate allure-results -o allure-report -c ')
os.system('allure open allure-report')


"""
# 通過命令刪除目錄
# rd表示remove dir 刪除目錄
# /s表示表示刪除該目錄下所有遍歷的子目錄和文件
# /q表示刪除目錄時不提示確認,直接刪除
os.system('rd /s/q allure-results')
"""
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章