1. 程式人生 > 實用技巧 >通過allure生成位於兩個不同路徑下的測試用例的報告

通過allure生成位於兩個不同路徑下的測試用例的報告

假設目前有結構如下的一個專案,現在需要將test_caseA.py的用例和test_caseB.py的用例通過allure生成在Report資料夾中

python_project
-- TestA
      -- test_caseA.py
      -- scriptA.py
-- TestB
      -- test_caseB.py
-- Report

可行的解決方法是通過指令碼先後進入TestA和TestB目錄執行pytest命令,並且將alluredir指向上級目錄的Report資料夾
假設當前的路徑位於python_project下,Windows命令可寫為:

cd TestA
# 首次執行可新增--clean-alluredir指令來刪除上一次儲存下來的檔案 
pytest -s -q --clean-alluredir --alluredir=/python_project/Report
cd ..
cd TestB
pytest -s -q --alluredir=/python_project/Report

這些命令可直接寫在Jenkins專案內的構建-Execute Windows batch command的命令列中

如果在一個目錄下的模組中呼叫了該目錄下的其他模組的函式或變數,
比如在test_caseA.py中有類似
from TestA.scriptA import func1
這樣的程式碼,則會報出 No module named TestA的錯誤。
造成該錯誤的原因是當前的目錄並非一個python路徑,只需要在目錄下新增__init__.py即可
詳情可參考以下連結
https://stackoverflow.com/questions/20985157/py-test-no-module-named


修改後的專案結構如下:

python_project
-- TestA
      -- __init__.py
      -- test_caseA.py
      -- scriptA.py
-- TestB
      -- __init__.py
      -- test_caseB.py
-- Report

這樣allure中就會出現位於兩個不同目錄下的用例報告了