1. 程式人生 > 其它 >Python(自動化測試allure生成報告)

Python(自動化測試allure生成報告)

今天簡單總結一下最近在專案中使用allure生成報告時的一些經驗。

allure是我們在做介面自動化測試時所使用的一種產生報表的外掛。首先要注意的是,由於他和pytest是繫結的。如果我們在生成時,檔名沒有寫成‘test_’開頭或‘_test’結尾,那麼我們在啟動allure報告時就會報錯。這點要注意。

首先安裝:我們可以起官網下載allure。隨便解壓一個地方之後,我們需要將bin目錄新增到環境變數中,這樣我們才可以在終端使用allure命令

新增好後在cmd輸入:pip install allure-pytest安裝

安裝好後可以通過:allure --version檢視版本號

 那麼全部完成後我們在python中的使用就是import allure匯入allure包,allure的使用主要是通過裝飾器,標註用例的名稱,級別,步驟等。我們來看幾個具體的程式碼:

 在程式碼中是:

import pytest
from KeJie.api.kjgoodspostApi import KEJIEPOST
from KeJie.com.readCsv import READCSV
import allure

# 將csv檔案中的測試資料匯入
para = READCSV().readAll(start=1, end=5)

# 將全欄位測試csv文件資料匯入
paraall = READCSV(file='alltestdata.csv').readAll(start=1, end=14)

# 將庫存測試csv文件資料匯入
paraamount = READCSV(file='
amount_test_data.csv').readAll(start=1, end=1) # 將修改測試csv文件資料匯入 paraupdate = READCSV(file='update_goods_data.csv').readAll(start=1, end=6) # 必填測試 @pytest.mark.parametrize("outdety, number, code,price, ftax,unit,msg_code,desc", para) @allure.epic("KEJIE倉中倉") @allure.feature("必填測試") @allure.story(
"測試必填項") @allure.step("必填項場景測試py") @allure.severity("NORMAL") def test_good_01(outdety, number, code, price, ftax, unit, msg_code, desc): kj = KEJIEPOST() res = kj.goodPost(outdety, number, code, price, ftax, unit) msg = res.json()['code'] print(msg) print(msg_code) print(desc) # 斷言,當報錯碼等於10201時才正確 assert str(msg) == msg_code

完成後我們在終端輸入:

pytest --alluredir ./report/allure_result生成報告資料

 隨後我們使用allure serve啟動我們的allure報告,它的原理和前端一樣,只不過我們前端使用npm run serve啟動或者yarn serve

 啟動後我們就可以看到一份完整的報告啦!