前言
以前做自動化測試的時候一直用的HTMLTestRunner來生成測試報告,后來也嘗試過用Python的PyH模塊自己構建測試報告,在后來看到了RobotFramework的測試報告,感覺之前用的測試報告都太簡陋,它才是測試報告應該有的樣子。也就是在那段時間瘋狂研究RF的測試報告生成方法,接觸到了很多好用的庫,比如json2xml進行測試結果的轉換,雖然用起來不太方便,但也能正常的生成標准的RF測試報告。
直到最近一次偶然的機會接觸到了我們今天的主角Allure,我才真正感受到什么叫 專業的事要交給專業的人做。
Allure介紹
Allure是一款非常輕量級並且非常靈活的開源測試報告生成框架。它簡單易用,易於集成,並且支持絕大多數測試框架, 例如TestNG、Pytest、JUint等。
本文主要用Jenkins下面就Pytest如何與Allure集成做詳細介紹。
環境搭建
Jenkins 是基於Java開發的一種持續集成工具,所以,Jenkins需要Java環境。而Allure同樣的依賴Java環境,所以首先搭建java的環境,這個這里不做介紹。
Jenkins安裝
搭建好java的環境后,配置安裝好Tomcat,在https://jenkins.io/上下載jenkins,把下載的jenkins.war放在tomcat的webapps的目錄下,切換到在tomcat的bin目錄下,執行Tomcat的start腳本啟動tomcat,啟動后,在瀏覽器中訪問你的Tomcat配置監聽的IP端口,如:http://localhost:8080/jenkins。
博主是在windows環境下使用的是XAMPP集成的Tomcat,XAMPP相關的搭建安裝使用可以參考這篇問題。
Jenkins首次使用會看到需要輸入密碼,Windows下的密碼是在C:\Users\Administrator.jenkins\secrets目錄下的initialAdminPassword文件中,復制其中的內容,把它copy到jenkins的密碼輸入框,點擊下一步,配置賬戶密碼,選擇安裝推薦插件或者手動選擇都可以,關於插件這里就不詳細的說明了,完成Jenkins的配置。
Allure Jenkins插件安裝配置
-
首先打開jenkins的插件管理界面
-
直接搜索allure可以搜索到,然后選擇安裝就可以了。安裝成功后,可以在已安裝列表里查看到該插件的信息。
-
然后我們回到系統管理界面,點擊全局工具設置(Global Tool Configuration),在Global Tool Configuration的界面安裝allure,選擇下載的插件版本
- 選擇好后,點擊save保存。
至此,環境就基本上安裝完了。
測試腳本准備
安裝Python依賴包
下來我們需要安裝pytest,安裝的命令為:
pip install pytest
pip install pytest-allure-adaptor
在線安裝成功后,在cmd的命令中輸入pytest,如果顯示信息如下,表示安裝OK,見截圖:
測試腳本
下面我們來編寫代碼,來進行測試,比如編寫如下的測試代碼,見編寫后的源碼:
#! /usr/bin/python
# coding:utf-8
"""
@author:Bingo.he
@file: test_allure.py
@time: 2018/07/12
"""
import unittest
class DivTest(unittest.TestCase):
def test_div_001(self):
self.assertEqual(1, 1)
def test_div_002(self):
self.assertEqual(2, 2)
def test_div_003(self):
self.assertEqual(3, 3)
def test_div_004(self):
self.assertEqual(4, 4)
def test_div_005(self):
self.assertEqual(5, 3)
構建Jenkins任務
新建任務(Job)
-
新建一個構建任務,選擇 自由風格的任務,取名如AllureDemo,點擊確定
-
在配置界面,選擇構建,在構建步驟中選擇 Windows 批處理命令(windows batch command),填寫執行的命令,見截圖:
-
在構建后操作選擇Allure Report,見截圖:
-
點擊保存會返回項目詳情頁面,可以看到顯示allure測試報告的圖標
-
我們立即構建后,我們可以看到構建成功的信息,點擊allure測試報告即可以看到allure測試報告
Allure Report 測試報告
概覽
概覽 中展示了本次測試的測試用例數量,成功用例、失敗用例、跳過用例的比例,測試環境信息,SUITES,FEATURES BY STORIES等基本信息,當與Jenkins做了持續置成后,TREND區域還將顯示,歷次測試的通過情況。
概覽 的左邊欄,還從不同的維度展示測試報告的其他信息,我們可以自己點進去看看。
我們可以在下面選擇展示語言
Behaviors
Suites
將腳本的目錄結果展示本次所有的測試用例執行情況。
Graphs
展示詳細的數據信息,還包含以往的構建信息。