1. 程式人生 > 實用技巧 >pytest+allure 酷炫的報告

pytest+allure 酷炫的報告


首先如果你沒有安裝 pytest 庫的話,先使用 pip 安裝一下:
pip install pytest

另外還需要安裝 pytest 支援 allure 報告的外掛庫:
pip install allure-pytest

當然這裡allure這裡需要下載一個離線包,配置一個全域性的環境變數,配置完成後需要執行一下:
allure --version 如果顯示出詳細資訊則已經配置成功。

2、在執行測試時,使用 pytest 命令執行:

pytest <測試目錄> --alluredir <測試結果存放目錄>


for example:
pytest tests --alluredir report/allure_raw

  • tests為測試用例存放目錄,告訴 pytest 應該去哪裡找用例;
  • report是存放測試報告的,allure 收集 pytest 執行後產出的結果放在 allure_raw 資料夾中。

注意:這裡的 allure_raw 資料夾只存放的是測試執行結果,還不是報告!報告還需要呼叫 allure 命令去生成。

結果是像這樣的:

allure測試結果

還是一堆 txt 和 json 檔案。

我們要生成漂亮的報告還需要一步,從 allure官網上下載最新的 allure 。下載後是一個 zip 檔案,把該檔案解壓後放到我們目錄中的 lib 資料夾中。

可以把解壓後的 bin 目錄新增到環境變數的 PATH 中,可以直接使用 allure 命令:



allure

我們需要用到 bin 目錄下的 allure 檔案來生成測試報告。

命令如下:

lib\allure-2.12.1\bin> allure generate <allure測試結果目錄> -o <存放報告的目錄> --clean
  • allure測試結果目錄,是上面執行 pytest 命令後存放結果的地方,我們這裡的目錄是 report 下的allure_raw資料夾;
  • 存放報告的目錄,是最終生成的測試報告存放的目錄,我打算把生成出的報告放在 report 下的allure_report資料夾中;
  • --clean引數用來清空已有的報告,避免覆蓋時出錯。

以我們的例子來生成報告的命令如下:

lib\allure-2.12.1\bin> allure generate report/allure_raw -o report/allure_report --clean

通過上面的命令執行後,就會從 allure_raw 目錄中將 pytest 執行的結果生成一個漂亮的報告,存放在 allure_report 中。

allure 報告

然後在 pycharm 中可以通過右鍵選擇index.html就可以看到報告了。

右鍵瀏覽器開啟

如果你不是用 Pycharm 的話,可以通過 allure 命令生成服務,然後檢視。

>allure  open /report/allure_report

執行後會啟動一個 web 服務,用於展示報告:

啟動一個服務來展示報告

實際跑自動化用例的時候呢,可以和 Jenkins 結合後在 Jenkins 中檢視報告。

當然上面的命令很雜,我封裝了一個函式,把 pytest 常用的幾個外掛的用法都加進去了。

  • pytest-xdist多併發執行,保證測試用例的執行效率。 引數為-n 併發數,如果併發數為auto,表示自動根據當前機器的 CPU 核心數量確定併發數;
  • pytest-rerunfailures測試用例出錯後,自動重試。在實際測試過程中,很多時候用例失敗可能是因為網路問題,臨時的環境問題,而並非真正的 Bug。為了減少(注意是減少不是避免)這種烏龍情況的發生,可以多執行幾次用例。引數為--reruns 重試次數