Pytest+Allure初體驗


Pytest+Allure初體驗

轉自:https://mp.weixin.qq.com/s/zF_YIPqpS_nMP4K8KTLYGw

 最近團隊的虛擬小組在做ui自動化測試,使用的框架有pytest框架和allure框架,結合這兩個框架,最終可以生成規范、格式統一、美觀的測試報告。

下面簡單介紹一下~

01

pytest介紹

pytest是python的第三方測試框架,是基於unittest的擴展框架。

 

根據pytest的官方網站介紹,它具有如下特點:

1、非常容易上手,入門簡單,文檔豐富

2、能夠支持簡單的單元測試和復雜的功能測試

3、支持參數化

4、 執行測試過程中可以將某些測試跳過,或者對某些預期失敗的case標記成失敗

5、支持重復執行失敗的case

6、支持運行由nose, unittest編寫的測試case

7、具有很多第三方插件,並且可以自定義擴展

8、方便的和持續集成工具集成

02

如何編寫pytest測試用例

示例如下:

 

通過執行測試文件的方法(在test_py.py所在目錄下執行pytest或者pytest -q(q是quiet的簡拼),會尋找當前目錄及其子目錄下以test開頭的py文件或者以test結尾的py文件。

 

找到文件后,在文件中找到以test開頭函數並執行)。

 

執行上面的測試:

測試結果中可以看到,該測試共執行了兩個測試樣例,一個失敗一個成功。

 

同樣,我們也看到失敗樣例的詳細信息,和執行過程中的中間結果。

 

通過上面的實例,我們發現編寫pytest測試樣例非常簡單,只需要按照下面的規則:

·         測試文件以test_開頭(以_test結尾也可以)

·         測試類以Test開頭,並且不能帶有 __init__ 方法

·         測試函數以test_開頭

·         斷言使用基本的assert即可

 

可能有些同學會問為什么要使用斷言。

 

不管是功能測試,自動化測試,還是單元測試。一般都會預設一個正確的預期結果,而在測試執行的過程中會得到一個實際的結果。測試的成功與否就是拿實際的結果與預期的結果進行比較。這個比的過程實際就是斷言(assert)。

 

那么接下來再簡單介紹一下Allure 

03

Allure介紹

Allure是一款非常輕量級並且非常靈活的開源測試報告生成框架。

 

Allure簡單易用,易於集成。

還支持絕大多數測試框架, 例如TestNG、Pytest、JUint等。

 

我們本次使用到的是基於Pytest框架集成Allure。

在pytest中使用Allure,需要使用一個Pytest的插件pytest-allure-adaptor

 

pytest-allure-adaptor的安裝步驟如下:

然后從

https://bintray.com/qameta/generic/allure2下載allure,解壓到本地后,將allure執行工具的bin目錄添加到系統變量path中。

 

同時也應該進行jdk環境配置

(注意,jdk安裝路徑中不要包含括號、空號,否則執行allure命令時會報錯) 

 

在測試腳本中,怎么添加allure特性呢?

 

 首先需要 import allure,示例如下:

從上面簡單的例子當中,可看到,使用了Allure的幾個特性:

a、利用Feature 和 Story 組織用例,如:一個大模塊M 下包含幾個小模塊A、B、C ;可以將M 設置為Feature,A、B、C 設置為不同的Story ,添加Featrue和Story

b、with pytest.allure.step(‘描述’) ,在報告中增加步驟顯示

c、allure.attach  用於向測試報告中輸入一些附加的信息,通常是一些測試數據信息

關於Allure的更多特性,大家可在官網學習,這里就不一一介紹了。

04

Allure測試報告的生成

怎么通過上面的測試腳本,生成allure所需要的測試結果文件呢? 

在cmd命令行執行測試代碼:

py.test 測試用例目錄 –alluredir=./allure-result 
生成allure所需要的測試結果文件 。

其中 –alluredir 表示生成測試結果保存路徑; ./allure-result 表示當前路徑下的allure-result文件下。

然后通過命令,生成測試報告

在cmd命令執行測試代碼:allure serve 測試用例目錄

生成的測試報告如下:

首頁

首頁中展示了本次測試的測試用例數量,成功用例、失敗用例、跳過用例的比例,ENVIRONMENT,SUITES,FEATURES BY STORIES等基本信息。

Behaviors

點擊一下FEATURES BY STORIES,將進入Behaviors頁面,這個頁面按照FEATURES和 STORIES展示測試用例的執行結果: 

從這個頁面可以看到“日歷控件功能模塊”這個FEATURES包含的七個STORIES的測試用例執行情況。

Suites

點擊Suites區域下面的任何一條Suite,都將進入Suites頁面。

在Suites頁面上點擊任何一條測試用例,Suites頁面的右側將展示這條用例的詳細執行情況。

 

從這個頁面可以看到測試用例執行的具體步驟,以及每個步驟的執行結果、測試用例失敗原因。

結語

將Allure與Pytest測試框架相結合,生成Allure格式的測試報告就介紹完了。


免責聲明!

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



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