allure測試報告

使用pytest結合Allure進行測試報告生成的簡單教程

allure測試報告


Allure基于Java開發,因此我們需要提前安裝Java 8或以上版本的環境。

◆安裝allure-pytest插件在DOS窗口輸入命令“pip3 install allure-pytest”,然后按“Enter”鍵。

下載安裝Allure:你可以從GitHub下載安裝文件“allure2-2.13.3.zip”,解壓后,將bin目錄配置到環境變量中,然后在DOS窗口中輸入“allure”,并按“Enter”鍵,如果顯示“Usage”的話,說明設置成功。

使用如下命令執行:pytest.main(["-m","login","-s","-q","--alluredir=./report"])。

●“-m”:標記用例。

●“login”:被標記需要執行用例。

●“-s”:允許終端在測試執行時輸出某些結果,例如你想輸入print的內容,可以加上“-s”。

●“-q”:簡化輸出結果。

●“--alluredir”:生成Allure指定語法。

●“./report”:生成報告的目錄。

●“--clean-alluredir”:因為這個插件庫allure-pytest生成了報告文件,你第二次執行時不會清理掉里面的東西,所以你需要刪除這個report文件夾,然后執行重新新建report文件夾命令。說明:命令執行后,程序會在report文件夾里面生成文件。?

定制報告


●feature:標注主要功能模塊。

●story:標注features功能模塊下的分支功能。

●severity:標注測試用例的重要級別。

blocker級別:致命缺陷。critical級別:嚴重缺陷。normal級別:一般缺陷,默認為這個級別。minor級別:次要缺陷。trivial級別:輕微缺陷。

●step:標注測試用例的重要步驟。

●attach:用于向測試報告中輸入一些附加的信息,通常是一些測試數據信息。

●name就是附件名稱,body就是數據,attachment_type就是傳類型。附件支持的類型有TEXT、HTML、XML、PNG、JPG、JSON、OTHER。

●issue:這里傳的是一個連接,記錄的是你的問題。

●testcase:這里傳的是一個連接,記錄的是你的用例。

●description:描述用例信息。

import pytest,allure@allure.feature("測試場景1") ? ? ?#標記場景
class TestDemo():@allure.story("測試用例1-1") # 標記測試用例@allure.severity("trivial") # 標記用例級別def test_1_1(self): # 用例1a = 1 + 1assert a == 2@allure.story("測試用例1-2")@allure.severity("critical")@allure.step('用例2:重要步驟')def test_1_2(self):assert 2 == 2

通過main來執行測試用例,這時候程序會在report文件夾中生成一些JSON格式的文件

接下來回到DOS窗口,執行“allure generate --clean report”命令,可以看到新生成了一個allure-report文件夾,可以用瀏覽器打開index.html文件了

?●區域一:顯示報告生成的時間,執行的時間,一共執行了多少個測試用例,環狀圖顯示用例通過的比例。

●區域二:顯示的是測試集合(class)情況。

●區域三:顯示的是測試場景(@allure.feature)。

●區域四:顯示失敗用例的信息。

?

安裝必要的庫


首先,確保已經安裝了pytest和allure-pytest庫。可以使用以下命令進行安裝:


pip install pytest
pip install allure-pytest
?

用法說明?

1. 在測試代碼中,使用pytest框架編寫測試用例。確保你已經導入pytest和allure相關的模塊。

2. 在每個測試用例函數上方添加`@allure.feature('Feature')`和`@allure.story('Story')`裝飾器,用于指定測試用例所屬的特性和故事。

3. 在測試用例函數上方添加`@allure.severity(allure.severity_level.CRITICAL)`裝飾器,用于指定測試用例的嚴重程度。

4. 在需要添加附件的地方,使用`allure.attach()`方法添加附件。例如,在測試用例失敗時,你可以添加失敗截圖或日志文件作為附件。

5. 在命令行中執行`pytest --alluredir=./report`命令,將測試結果生成為Allure報告的XML格式。

6. 使用`allure serve ./report`命令啟動Allure服務,并自動打開生成的測試報告。

示例代碼


import pytest
import allure@allure.feature('登錄模塊')
@allure.story('用戶登錄')
@allure.severity(allure.severity_level.CRITICAL)
def test_user_login():with allure.step('步驟1:輸入用戶名和密碼'):# 輸入用戶名和密碼操作passwith allure.step('步驟2:點擊登錄按鈕'):# 點擊登錄按鈕操作passwith allure.step('步驟3:驗證登錄成功'):# 驗證登錄成功的斷言passwith allure.step('步驟4:添加失敗截圖和日志文件作為附件'):# 添加失敗截圖和日志文件作為附件allure.attach.file('./screenshot.png', name='失敗截圖', attachment_type=allure.attachment_type.PNG)allure.attach.file('./log.txt', name='日志文件', attachment_type=allure.attachment_type.TEXT)assert Trueif __name__ == '__main__':pytest.main(['-s', '-v', '--alluredir=./report'])

執行以上代碼后,會在當前目錄下生成一個`report`文件夾,包含測試結果的XML文件。然后,執行`allure serve ./report`命令,啟動Allure服務并自動打開生成的測試報告。

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

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

相關文章

使用 Docker 部署 canal 服務實現MySQL和ES實時同步

文章目錄 0. 環境介紹0. 前置步驟1. 安裝Kibana和Elasticsearch2. 安裝Canal和Canal Adapter2.1 修改數據庫配置2.1.1 修改配置2.1.2 驗證mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代碼插入數據庫 2.2 安裝Canal Server2.3 安裝Canal Adapter修改兩處配置文件配置文件取…

Linux 命令篇

一、啟動網絡命令 ip addr 查看網卡信息 service network start 啟動網卡 service network stop 關閉網卡 service network restart 重啟網絡 二、pwd 命令 查看當前目錄的路徑 linux 下所有的絕對路徑都是從根目錄 "/" 開始 root:是linux下root用戶的根目…

初識mysql數據庫之引入mysql客戶端庫

目錄 一、下載第三方庫 1. 準備工作 1. 使用mysql官網提供的庫 2. yum源安裝 二、測試第三方庫是否可用 三、mysql常用接口介紹 1. 查看官方文檔 2. 初始化 3. 關閉mysql 4. 連接mysql 5. 下達sql指令 四、一個簡單的C客戶端庫連接mysql程序 1. 頭文件 2. 初始化…

FFmpeg接收UDP碼流

一、FFmpeg參數初始化: //在打開碼流前指定各種參數比如:探測時間/超時時間/最大延時等//設置緩存大小,1080p可將值調大av_dict_set(&options, "buffer_size", "8192000", 0);//以tcp方式打開,如果以udp方式打開將tcp替換為udpav_dict_set(…

Could not resolve host: mirrorlist.centos.org; Unknown error解決方法

今天服務器安裝完CentOS系統后,安裝網絡的時候,出現無法聯網yum yum -y install net-tools 以上代碼無法運行并報錯,這里我要提醒大家,如果在初始安裝的時候選中安裝網絡工具模塊就不用在安裝net-tools了,因為我選中…

Angular 性能優化實戰

Angular 性能優化實戰 Angular 是一個非常強大的前端框架,但是如果不注意性能優化,應用程序可能會變得非常慢并增加加載時間。 以下是一些Angular性能優化經驗的實戰建議: 1. 使用 OnPush 變更檢測策略 默認情況下,Angular檢查…

vite跨域配置踩坑,postman鏈接后端接口正常,但是前端就是不能正常訪問

問題一:怎么都鏈接不了后端地址 根據以下配置,發現怎么都鏈接不了后端地址,proxy對了呀。 仔細看,才發現host有問題 // 本地運行配置,及反向代理配置server: {host: 0,0,0,0,port: 80,// cors: true, // 默認啟用并允…

爆肝整理,性能測試方法與關鍵指標以及瓶頸定位思路,一篇貫通...

目錄:導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結(尾部小驚喜) 前言 性能測試方法 1、…

Python編程實現百度AI開放平臺的接口對接方法,詳解和實踐指南

Python編程實現百度AI開放平臺的接口對接方法,詳解和實踐指南 引言 百度AI開放平臺提供了豐富的人工智能接口,包括語音識別、圖像識別、自然語言處理等功能。本文將通過Python編程,詳解如何對接百度AI開放平臺的接口,并提供實際代碼示例。準備工作 在開始之前,我們需要先完…

智能家居(1)---工廠模式實現燈光控制(繼電器組)以及火災報警模組的封裝

采用工廠模式以面向對象的方式來封裝各種設備模塊&#xff0c;方便整合項目以及后期的維護和擴展 mainPro.c&#xff08;主函數&#xff09; #include <stdio.h> #include "controlDevice.h"struct Devices *pdeviceHead NULL; //設備工廠鏈…

抓包工具Fiddler下載與安裝

一、Fiddler介紹 1.Fiddler簡介 Fiddler 是一款免費、靈活、操作簡單、功能強大的 HTTP 代理工具&#xff0c;是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、過濾會話、分析請求詳細內容、偽造客戶端請求、篡改服務器響應、重定向、網絡限速、斷點調試等…

數據結構刷題訓練:隊列實現棧

目錄 前言 1. 題目&#xff1a;使用隊列實現棧 2. 思路 3. 分析 3.1 創建棧 3.2入棧 3.3 出棧 3.4 棧頂數據 3.5 判空和 “ 棧 ” 的銷毀 4. 題解 總結 前言 我們已經學習了棧和隊列&#xff0c;也都實現了它們各自的底層接口&#xff0c;那么接下我們就要開始棧和隊列的專項刷…

go內存管理機制

golang內存管理基本是參考tcmalloc來進行的。go內存管理本質上是一個內存池&#xff0c;只不過內部做了很多優化&#xff1a;自動伸縮內存池大小&#xff0c;合理切割內存塊。 基本概念&#xff1a; Page&#xff1a;頁&#xff0c;一塊 8 K大小的內存空間。Go向操作系統申請和…

2.Model、ModelMap和ModelAndView的使用詳解

1.前言 最近SSM框架開發web項目&#xff0c;用得比較火熱。spring-MVC肯定用過&#xff0c;在請求處理方法可出現和返回的參數類型中&#xff0c;最重要就是Model和ModelAndView了&#xff0c;對于MVC框架&#xff0c;控制器Controller執行業務邏輯&#xff0c;用于產生模型數據…

Spring Cloud構建微服務斷路器介紹

什么是斷路器 斷路器模式源于Martin Fowler的Circuit Breaker一文。“斷路器”本身是一種開關裝置&#xff0c;用于在電路上保護線路過載&#xff0c;當線路中有電器發生短路時&#xff0c;“斷路器”能夠及時的切斷故障電路&#xff0c;防止發生過載、發熱、甚至起火等嚴重后果…

【Redis】使用Docker鏡像配置集群時的Operation timed out問題

不知道有沒有小伙伴跟我一樣是使用的Docker鏡像進行Redis集群案例模擬的&#xff08;三臺虛擬機確實帶不動 &#xff09;&#xff0c;然后我遇到了一個問題&#xff1a;Could not connect to Redis at 172.17.0.2:6379: Operation timed out 172.17.0.2是我其中一個Redis實例的…

如何測試Linux磁盤的讀寫速度

在Linux系統中也有很多命令可以測試硬盤的讀寫速度指標。以下是幾個常用命令&#xff08;注意&#xff1a;在執行測試命令之前&#xff0c;請務必備份數據以避免數據丟失&#xff01; 1、dd 命令 首先掛載磁盤 mount /dev/sdb /testdd 命令可用于進行硬盤讀寫速度測試。 例…

uniapp踩坑之項目:判斷字符串長度自動調整選項卡寬度

利用動態:class來判斷字長調整選項卡uni-data-select 寬度 //html <view><view style"width:100%" :class"checkLength(text)>4 ? textexplode:textshrink"><uni-data-select v-model"value" :localdata"rangeTag"…

android 開發中常用命令

1.反編譯 命令&#xff1a;apktool d <test.apk> -o <folderdir> 其中&#xff1a;test.apk是待反編譯文件的路徑&#xff0c;folderdir是反編譯后的文件的存儲位置。 apktool d -f <test.apk> -o <folderdir> 注意&#xff1a;如果dir已經存在&am…

從零學算法34

34.給你一個按照非遞減順序排列的整數數組 nums&#xff0c;和一個目標值 target。請你找出給定目標值在數組中的開始位置和結束位置。 如果數組中不存在目標值 target&#xff0c;返回 [-1, -1]。 你必須設計并實現時間復雜度為 O(log n) 的算法解決此問題。 示例 1&#xff1…