Allure測試報告
阿新 • • 發佈:2022-01-06
1、Allure安裝:
- 安裝JDK1.8才可以執行Allure
- allure 的下載地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
- 解壓Allure壓縮包(D:\壓縮包,解壓到D:)
- 配置Allure到環境變數,到path裡面,D:\allure-2.17.2\bin
選擇最新日期的版本下載即可,如下圖所示:
驗證是否安裝成功:Win+R,依次輸入:cmd--->allure --version,顯示版本號說明已安裝成功。
2、Allure介紹
- allure測試報告是基於Pytest執行後,產生的Json檔案,來實現的結果展示,以一個工程的形態展示文字。
安裝外掛:pip install allure-pytest---->驗證:pip show allure-pytest,可看到版本相關資訊即是安裝好了
3、程式碼操作實現:
import os import pytest def test_case01(): assert 1 == 1 def test_case02(): assert 1 == 1 def test_case03(): assert 1 == 3 def test_case04(): assert 1 == 4 def test_case05(): assert 1 == 5
if__name__ == '__main__': pytest.main(['test_allure.py', '--alluredir', './result']) # ['--alluredir','./result']意思是在指定路徑下產生json檔案 os.system('allure generate ./result/ -o ./report_allure --clean') # ./result/ -o ./report_allure生成的測試報告全部放在report_allure目錄下,--clean覆蓋上一次的報告
#可以在cmd中進入到此py目錄下執行此命令列
報告:
4、注意別踩坑
allure定製化想必大部分情況都會去選擇pip installpytest-allure-adaptor或是pip install allure 這個外掛,安裝完成後,執行定製化程式碼出現以下報錯:
(1)這種報錯pip installpytest-allure-adaptor,cmd中操作
1、pip uninstall pytest-allure-adaptor
2、pip install allure-pytest
(2)安裝pip install allure 後報錯
- 在Pycharm終端中輸入:pip list,有關allure的模組全部解除安裝
pip unintall allure pip unintall allure-pytest 2.9.45 pip unintall allure-python-commons 2.9.45
5、裝飾的使用
Allure用例描述 | ||
使用方法 | 引數值 | 引數說明 |
@allure.epic() | epic描述 | 定義專案、當有多個專案是使用。往下是feature |
@allure.feature() | 模組名稱 | 用例按照模組區分,有多個模組時給每個起名字 |
@allure.story() | 用例名稱 | 一個用例的描述 |
@allure.title(用例的標題) | 用例標題 | 一個用例標題 |
@allure.testcase() | 測試用例的連線地址 | 自動化用例對應的功能用例存放系統的地址 |
@allure.issue() | 缺陷地址 | 對應缺陷管理系統裡邊的缺陷地址 |
@allure.description() | 用例描述 | 對測試用例的詳細描述 |
@allure.step() | 操作步驟 | 測試用例的操作步驟 |
@allure.severity() | 用例等級 | blocker 、critical 、normal 、minor 、trivial |
@allure.link() | 定義連線 | 用於定義一個需要在測試報告中展示的連線 |
@allure.attachment() | 附件 | 新增測試報告附件 |
import os import pytest import allure @allure.feature('feature測試需求001:使用者註冊') # 大需求 @allure.story('story測試場景001:微信使用者註冊') # 子需求 @allure.title('title測試用例001:通過微信正常註冊男使用者') # 自定義用例的名稱 def test_case01(): assert 1 == 1 @allure.feature('feature測試需求001:使用者註冊') @allure.story('story測試場景002:微信使用者註冊') @allure.title('title測試用例002:通過微信正常註冊女使用者') def test_case02(): assert 1 == 1 @allure.feature('feature測試需求001:使用者註冊') @allure.story('story測試場景003:微信使用者註冊校驗') @allure.title('title測試用例003:使用者名稱為空提交註冊') def test_case03(): assert 1 == 3 @allure.feature('feature測試需求001:使用者註冊') @allure.story('story測試場景003:微信使用者註冊校驗') @allure.title('title測試用例004:密碼為空提交註冊') def test_case04(): assert 1 == 4 @allure.feature('feature測試需求001:使用者註冊') @allure.story('story測試場景003:微信使用者註冊校驗') @allure.title('title測試用例005:使用者名稱存在特殊字元') def test_case05(): assert 1 == 5 @allure.feature('feature測試需求001:使用者註冊') @allure.story('story測試場景003:微信使用者註冊校驗') @allure.title('title測試用例005:使用者名稱超長提交使用者資訊') def test_case06(): assert 1 == 6 if __name__ == '__main__': pytest.main(['test_allure.py', '--alluredir', './result']) os.system('allure generate ./result/ -o ./report_allure --clean')