1. 程式人生 > 其它 >Allure測試報告

Allure測試報告

1、Allure安裝:

  1. 安裝JDK1.8才可以執行Allure
  2. allure 的下載地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
  3. 解壓Allure壓縮包(D:\壓縮包,解壓到D:)
  4. 配置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')

報告:

@allure.feature

@allure.story('story測試場景003:微信使用者註冊校驗')

@allure.title('title測試用例005:使用者名稱超長提交使用者資訊')