Allure測試報告


1、Allure安裝:

  1. 安裝JDK1.8+才可以運行Allure---------參照【https://www.cnblogs.com/luckyplj/p/11974643.html】

  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,顯示版本號說明已安裝成功。

 

注:1、下載包放到pytest文件夾中,然后將allure/bin的路徑放到環境變量的path中

  2、allure命令行工具,這個工具主要用來把測試用例的運行結果轉換成html格式

       3、配置環境變量后,一定要重啟電腦。因為環境變量沒生效,我搞了半天在pycharm不能生成報告,在cmd中可以生成報告

 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 install pytest-allure-adaptor或是pip install allure 這個插件,安裝完成后,運行定制化代碼出現以下報錯:

 

(1)這種報錯pip install pytest-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:用戶名超長提交用戶信息')

 allure命令行詳解(1):https://www.cnblogs.com/guanqibuyu/p/16601348.html

allure命令行詳解(2)https://blog.csdn.net/qq_45562973/article/details/124909242


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM