Python BDD之Behave測試報告

behave 本身的測試報告

behave 本身提供了四種報告格式:

  • pretty:這是默認的報告格式,提供顏色化的文本輸出,每個測試步驟的結果都會詳細列出。
  • plain:這也是一種文本格式的報告,但沒有顏色,并且在執行每個步驟后只輸出一個新行。
  • progress:這種報告格式只在執行每個測試步驟后輸出一個單字符。
  • json:這種報告格式以 JSON 格式輸出測試結果,易于進行進一步處理。
    使用 -f 參數或 --format 參數來指定報告的格式。

pretty 美化的文本格式

在這里插入圖片描述

  • 這里沒有看到顏色的差別, 但是會顯示每個步驟對應的代碼行數

plain 普通文本格式

在這里插入圖片描述

  • 這里只會顯示步驟執行的結果, 沒有顯示具體的步驟對應的代碼函數

progress 格式

在這里插入圖片描述

  • 沒有顯示步驟

JSON格式

以JSON格式的輸出為例:

behave -f json

這將在控制臺輸出 JSON 格式的測試結果。

在這里插入圖片描述

格式化一下JSON字符串,顯示如下:
在這里插入圖片描述

可以看到JSON 的字符串包括了Feature的名字,以及各步驟和執行結果等信息。

如果希望將結果保存到文件,可以將輸出重定向到一個文件,也可以使用 -o 參數或 --outfile 參數將結果寫入文件:

behave -f json -o report.json

這將會產生一個名為 report.json 的文件,其中包含 JSON 格式的測試結果。這個JOSN格式的內容和上面控制臺的JSON是一致的。

總結

behave 本身產生的測試包括可以使用在CI/CD 的集成上, 用來判斷整個測試是否成功, 如果需要一些更直觀和易讀的報告, 可以結合Allure 等工具。

結合 Allure 產生更豐富的報表

有一些第三方工具或插件可以生成更好看或更有用的報告,例如 allure-behave 可以生成富交互性的 HTML 測試報告。

Allure 是什么?

Allure 是一個開源的可視化報告工具,適用于各種不同的測試框架(包括 pytest、NUnit、Jasmine 等)。Allure 可以收集測試執行的信息,生成描述測試執行結果的詳細、交互式的 HTML 報告。
Allure 報告是一種可視化的測試報告,它為你提供了豐富的信息,例如測試歷史、執行時間、附件等。

hebeave + Allure 產生報表的步驟

  1. 安裝Python的 allure-behave 模塊。allure-behave是一個用于生成 Allure 測試報告的behave插件。
    在命令行輸入 pip install allure-behave

成功安裝的界面如下:
在這里插入圖片描述

  1. 安裝Allure 命令行工具

Windows 安裝Allure 命令行

在Windows 中可以使用scoop 安裝Allure , 而 scoop 則可以通過Windows 的PowerShell 進行安裝。

關于 Scoop

Scoop是一種適用于Windows操作系統的命令行軟件包管理器,用于快速安裝、升級和卸載應用程序。它使用PowerShell命令行界面,可以從互聯網上獲取開源軟件,軟件包命令可以方便地從GitHub上獲取。Scoop不需要管理員權限,可以在用戶帳戶下運行。Scoop是自由開源軟件,可以在GitHub上查看其代碼。

Windows下如何安裝 scoop

在 Windows 中,可以按照以下步驟安裝scoop命令行安裝器:

  1. ** 確認系統滿足安裝要求**:
    scoop需要 Windows 7 SP1+、Windows Server 2008+ 或更高版本,以及 PowerShell 5 以上版本(或 PowerShell Core 6+)。

  2. 安裝 PowerShell

  • 如果系統是 Windows 10,已經有該所需的 PowerShell 版本。
  • 如果系統是 Windows 7/8/8.1,需要手動升級 PowerShell。可以在 Microsoft 的官方網站下載最新版本的 PowerShell。

在開始菜單輸入 "po“就可以找到PowerShell 了, 如下圖
在這里插入圖片描述

  1. 開啟 PowerShell 腳本執行權限
    打開 PowerShell(以管理員權限),運行以下命令:
  Set-ExecutionPolicy RemoteSigned -scope CurrentUser

命名輸入后提示是否更改策略, 輸入 ”A“ 就可以了。

在這里插入圖片描述

這個命令開啟 PowerShell 腳本的執行權限,允許你在 PowerShell 中運行`scoop`的安裝腳本。
  1. 安裝scoop

在 PowerShell 中,運行以下命令:

iwr -useb get.scoop.sh | iex
  • 這個命令下載并運行scoop的安裝腳本,會把scoop安裝到你的用戶目錄下的scoop文件夾高。

安裝成功后,你可以通過scoop help命令查看scoop的用法說明。

需要注意,由于scoop需要訪問 GitHub 以獲取并安裝軟件,如果你所在的網絡環境無法訪問 GitHub,可能會導致scoop安裝或使用中遇到問題。類似如下錯誤信息:
在這里插入圖片描述

Windows下如何安裝 Allure 命令行

如果正確安裝了scoop ,可以通過 scoop install allure 安裝Allure ,需要注意這種方式需要安裝Java ,而且版本是 8 以上, 而且配置了JAVA_HOME環境變量,
如果無法正確安裝scoop 。 也可以通過直接下載allure的命令行工具。 下載完成之后將 allure目錄的bin 目錄添加到Path中, 如下圖:

在這里插入圖片描述

allure的Windows命令行工具的最新版下載地址: https://download.csdn.net/download/oscar999/88559298, 也可以到 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline 查找適當的版本下載。

hebeave + Allure 產生報表

上面的環境準備完成, 就可以產生報表了, 具體步驟如下:

1.命令行切換到規格文件所處目錄的父目錄,執行如下命令:

behave -f allure_behave.formatter:AllureFormatter -o allure_data

注意:只有正確安裝了allure-behave 模塊模塊之后才能 通過指定allure_behave.formatter:AllureFormatter作為格式化器和輸出目錄,來運行behave, 否則會提示beheave不認識這個命令選項

在這里插入圖片描述

正確執行的效果是:
在這里插入圖片描述

上面的命令會將測試的結果放在allure_data目錄中,

這個目錄會產生一個 json格式的文件。

在這里插入圖片描述

  1. 在命令行輸入
allure serve allure_data

執行的結果是:

在這里插入圖片描述

執行之后會打開一個瀏覽器窗口, 這里顯示的就是一個高大上的在線報表頁面了:
在這里插入圖片描述

Allure 報告的常見組成部分及其含義如下:

  1. Overview: 報告首頁會顯示一個總覽(Overview),其中包括執行的測試用例總數、通過率、持續時間,以及故障、錯誤等統計信息。

  2. Graphs: 報告提供一些數據可視化,如餅圖和柱狀圖,以便更好地理解測試分布、狀態、持續時間等。這有助于識別測試的瓶頸和問題。

  3. Categories: 測試結果可以按問題類型或故障類型分類。Allure 報告支持創建自定義類別,以根據用例標簽(如自動化用例、手動用例等)對測試結果進行分組和篩選。

  4. Timeline: 時間線視圖展示了測試用例的執行順序以及每個測試用例的開始和結束時間。這有助于查看并發量和找出性能問題。

  5. Test Details: 報告中的每個測試用例都有詳細的信息,例如測試名稱、描述、狀態(通過、失敗、跳過等)、測試步驟、運行時間等。此外,也有可能包含額外的信息,如屏幕截圖、日志文件或自定義文檔等。

  6. History: Allure 報告支持展示測試的歷史數據,有助于追蹤和分析測試的穩定性和質量。例如在多次構建間查看失敗案例的趨勢。

  7. Attachments: 可以添加附件到測試步驟或測試用例,以顯示與測試相關的其他信息。例如,錯誤日志, 屏幕截圖, 視頻記錄等,可以幫助更好地診斷問題。

  8. Retries: 如果測試用例執行失敗,Allure 支持自動重試。在報告中,原始測試用例和重試測試用例會分開顯示,以便查看重試次數和結果。

參考

  • allure
    安裝說明:https://allurereport.org/docs/gettingstarted-installation/


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160179.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電動汽車充放電V2G模型MATLAB代碼

微?關注“電氣仔推送”獲得資料(專享優惠) 主要內容: 本程序主要建立電動汽車充放電V2G模型,采用粒子群算法,在保證電動汽車用戶出行需求的前提下,為了使工作區域電動汽車盡可能多的消納供給商場基礎負荷…

【辦公常識】寫好的代碼如何上傳?使用svn commit

首先找到對應的目錄 找到文件之后點擊SVN Commit

五大資源之Service(可以固定IP)

Service可以看作是一組同類Pod對外訪問接口,借助Service應用可以方便的實現服務發現與負載均衡 創建集群內部可以訪問Service #暴露Service(也創建在了namespace dev下) [root@master ~]# kubectl expose deployment(pod控制器) nginx --name=svc-nginx1 --type=Cluste…

基于原子軌道搜索算法優化概率神經網絡PNN的分類預測 - 附代碼

基于原子軌道搜索算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于原子軌道搜索算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于原子軌道搜索優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要&#xf…

mysql 中 varchar 和 text 的區別

varchar 數據類型 如何理解 varchar(50) varchar(50) 中的 50 在 mysql5.0 及以上默認是存儲的字符數,5.0 以下,默認是字節長度。 varchar 占據的存儲空間 varchar 占據的存儲空間大概有以下幾部分組成: varchar 類型用來存儲【實際字符…

Python入門教學——輸入任意長度的int整型一維數組

使用python輸入一個任意長度的整型一維數組: nums input("請輸入整數數組,用空格分隔: ") nums [int(i) for i in nums.split( )] # 將每個數轉換為整型后輸出 運行結果: 【注】如果不強制轉換類型,數字…

功能測試進階建議,學習思路講解

1. 深入了解測試理論: 了解測試的原理、方法和最佳實踐,包括黑盒測試、白盒測試、灰盒測試等。可以閱讀相關的書籍或參加在線課程。 2. 學習相關測試工具: 掌握常用的測試工具,如缺陷發現工具、性能測試工具、安全測試工具等。可以…

matlab求矩陣的偽逆或者負二分之一次方

如果X不是滿秩矩陣的時候,那么不能使用inv()函數來求X的逆,因為X此時不存在逆,但是我們可以求X的偽逆。 (1)有以下兩種方法求X的偽逆: 假設 X[1 2 1;1 2 1;2 3 4]; 1, pinvXpinv(X); 2, [U,D,P]svd(X); r…

如何使用YOLOv8代碼框架中的RT-DETR

1. RT-DETR RT-DETR是由由此,百度推出了——RT-DETR (Real-Time DEtection TRansformer) ,一種基于 DETR 架構的實時端到端檢測器,其在速度和精度上取得了 SOTA 性能。 RT-DETR開源的代碼在百度自己的飛槳paddlepaddle上,因此非…

基于天鷹算法優化概率神經網絡PNN的分類預測 - 附代碼

基于天鷹算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于天鷹算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于天鷹優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要:針對PNN神經網絡的光滑…

新手必看!!附源碼!!STM32通用定時器輸出PWM

一、什么是PWM? PWM(脈沖寬度調制)是一種用于控制電子設備的技術。它通過調整信號的脈沖寬度來控制電壓的平均值。PWM常用于調節電機速度、控制LED亮度、產生模擬信號等應用。 二、PWM的原理 PWM的基本原理是通過以一定頻率產生的脈沖信號&#xff0…

【5 樹與二叉樹】統計二叉樹結點值和。

typedef struct BiTNode{int data;struct BiTNode *lchild,*rchild; }*BiTree,BiTNode;int sum(BiTree T){if(Tnull)return 0;return T->datasum(T->lchild)sum(T->rchild); }

Android:Google三方庫之Firebase集成詳細步驟(二)

Analytics分析 1、將 Firebase 添加到您的 Android 項目(如果尚未添加),并確保在 Firebase 項目中啟用了 Google Analytics(分析): 如果您要創建新的 Firebase 項目,請在項目創建過程中啟用 G…

實時錯誤’-2147217887‘多步OLB DB 操作產生錯誤。如果可能,請檢查OLE DB狀態值

目錄 背景問題問題分析問題解決 錯誤解決與定位技巧總結 背景 仍舊是學生信息管理系統的問題,當時做的時候沒發現這么多問題呢,只能說明一件事,做的時候沒有站在用戶的角度考慮需求,設置了什么內容,就按照設置好的去測…

AIGC ChatGPT4總結SQL優化細節操作

數據庫SQL優化是一個復雜的過程,它通常涉及到許多不同的技術和方法。以下是一些常用的SQL優化策略: 1. **索引使用**:索引可以極大地加速查詢速度。但是,索引并不總是有好處的,因為它們需要額外的空間來存儲,并且在插入和更新數據時可能會減慢速度。因此,選擇正確的字段…

Unity中Shader紋理的過濾

文章目錄 前言一、為什么要過濾?二、過濾方式1、Point(no filter) 無過濾2、Bilinear 雙線性過濾3、Trilinear 三線性過濾 前言 Unity中Shader紋理的過濾 一、為什么要過濾? 事實上沒有一個紋理上的紋素是與屏幕上的像素是一一對應的。 屏幕上的 一個…

redis安裝(Windows和linux)

如何實現Redis安裝與使用的詳細教程 Redis 簡介 Redis是一個使用C語言編寫的開源、高性能、非關系型的鍵值對存儲數據庫。它支持多種數據結構,包括字符串、列表、集合、有序集合、哈希表等。Redis的內存操作能力極強,其讀寫性能非常優秀,且…

萬字解析:十大排序(直接插入排序+希爾排序+選擇排序+堆排序+冒泡排序+快速排序+歸并排序+計數排序+基數排序+桶排序)

文章目錄 十大排序排序算法復雜度及穩定性分析一、 排序的概念1.排序:2.穩定性:3.內部排序:4.外部排序: 二、插入排序1.直接插入排序2.希爾排序 三、選擇排序1.直接選擇排序方法一方法二直接插入排序和直接排序的區別 2.堆排序 四…

【藍橋杯省賽真題45】Scratch九宮格游戲 藍橋杯scratch圖形化編程 中小學生藍橋杯省賽真題講解

目錄 scratch九宮格游戲 一、題目要求 編程實現 二、案例分析 1、角色分析

輕量封裝WebGPU渲染系統示例<37>- 多個局部點光源應用于非金屬材質形成的效果(源碼)

當前示例源碼github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/BasePbrMaterialMultiLights.ts 當前示例運行效果: 此示例基于此渲染系統實現,當前示例TypeScript源碼如下: export class BasePbrMaterial…