如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

在自動化測試執行之後,生成一個美觀大方的測試報告,也是測試過程中,非常最要的一環。測試報告直接反應了測試過程中發現的問題,分析測試報告是解決問題的最重要手段。那麼一個專業的測試報告應該長什麼樣呢?廢話不多說,直接上圖:

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

在上面這張測試報告中,整體用中文顯示,易於閱讀;左側導航欄包含總覽、分類、測試用例列表、圖表等多個模塊;右側的總覽頁面中包含了用例數、成功率、歷史趨勢圖、用例分類等多張表格;頁面佈局簡約大方。

那麼如何生成這樣一份測試報告呢?

第一步,安裝Python依賴庫。兩種方式任選其一,第一種在dos窗口中,輸入下面三個命令:

· pip3 install pytest

· pip3 install allure-python

· pip3 install allure-python-commons

第二種方法,打開Pycharm,點擊File,點擊Settings,選擇project interpreter,點擊右上角+加號按鈕,搜索並選擇pytest,點擊install package;搜索allure,分別選擇allure-python和allure-python-commons,點擊install package。如下圖。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第二步,安裝好依賴庫以後,下載並解壓allure命令行工具,用於後面步驟執行allure命令,下載地址一:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A;下載地址二:https://github.com/allure-framework/allure-pytest。把解壓後的allure文件夾,設置成環境變量。添加allure到環境變量PATH(\\安裝路徑\\allure-commandline\\bin)。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第三步,確認allure安裝成功,在命令行輸入:allure --version,能展示allure安裝版本2.12.1即可。如果報錯,可能是因為電腦中沒有安裝jdk1.8造成的,這時安裝一個jdk1.8就好了。

第四步,通過pytest編寫自動化測試腳本,如下圖。編寫pytest測試用例非常簡單,只需要按照下面的規則:

· 測試文件以test_開頭

· 測試類以Test開頭

· 測試函數以test_開頭

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第五步

,執行測試用例。點擊Pycharm底部Terminal;或者打開dos窗口,切換到當前項目文件夾下,執行命令 pytest -s -q。Terminal應該能正常顯示打印結果如下。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第六步,為了測試報告內容豐滿,可以用第五步的方法,多創建一些測試用例。如下圖,也可以把用例放到多個包裡面。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第七步,創建好測試用例以後,在Terminal中執行命令:pytest -s -q --alluredir allure-xml。這時就會運行測試用例。-s表示允許終端在測試運行時輸出結果,-q表示簡化輸出結果,--alluredir表示把生成的中間結果保存到allure-xml文件夾。

第八步,等測試用例執行完畢。繼續在Terminal中執行命令:allure generate allure-xml -o allure-report --clean。這樣就會根據allure-xml文件夾裡的中間結果在allure-report文件夾中生成一個測試報告。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第九步,右鍵allure-report文件夾中的index.html文件,選擇open in browser,再點擊一個瀏覽器,比如chrome。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

第十步,這時一個美觀的測試報告就會顯示如下了,快試試吧。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

進階篇--定製報告

這時,點擊左側導航欄中的'功能',展開以後,測試結果顯示如下:

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

在這裡,我們可以看到所有的測試用例直接顯示為方法名,這樣的可讀性不好。我們可以通過allure自帶的裝飾器給這些測試用例重新用中文起名,並且分類。如下圖:

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

為了實現上圖的樣式:allure提供瞭如下幾個裝飾器。@allure.feature('前臺子系統') 表示第一層分組,一般用來表示測試用例屬於哪個模塊。@allure.story('註冊功能')表示第二層分組,一般用來表示測試用例屬於哪個功能。@allure.title('正常註冊測試')用來表示測試用例的標題。@allure.description('輸入正確的用戶信息,註冊賬號')用來顯示測試用例中的描述信息。具體代碼如下圖:

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

除了上面這些裝飾器以外,allure測試報告中幾乎支持手工測試用例的所有要素,比如操作步驟,預置條件,後置操作,附件截圖等等。大家可以自己嘗試一下,其他要素我們後續再講。

高級篇--持續集成

在企業應用中,自動化測試往往需要頻繁執行,比如每隔一小時自動執行測試一次。執行完成後應該發郵件提醒tester,tester只需要打開郵件就可以看到生成的測試報告。這又是怎麼做的呢?

第一步,準備環境,大家前面應該已經安裝過jdk了,我們從Tomcat官網下載最新的tomcat9,Jenkins官方網站下載最新的war包;也可以從我前面分享給大家的網址下載:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A。

1.安裝jdk

2.解壓tomcat

3.複製jenkins.war到tomcat的webapps目錄下

4.雙擊打開bin目錄下面的startup.bat,這時會打開一個dos窗口,注意永遠不要關閉這個窗口,否則就不能訪問jenkins網站了。

5.等1分鐘左右,打開瀏覽器,輸入網址http://localhost:8088/jenkins/,多刷新幾次,直到看到下圖

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

6.根據網頁中的提示,用記事本打開提示C:\\Users\\......\\.jenkins\\secrets文件夾中的文件initialAdminpassword。

7.複製文件中的內容到'管理員密碼'輸入框中

8.點下一步

9.在custom jenkins頁面選擇suggested jenkins plugin(安裝推薦的插件)。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

10.等所有的插件下載好以後, 設置用戶名和密碼。

11.登錄進入主界面。

第二步,進入到jenkins主界面以後,我們來創建第一個jenkins任務。

1.在主頁點擊"新建"

2.選擇自由風格的軟件項目

3.點擊general配置中的'高級',選擇'自定義工作空間',設置成你的項目路徑,比如我的項目在這個路徑中C:\\Users\\51Testing\\PycharmProjects\\changcheng。

4.在構建觸發器中,選擇window批處理程序,在jmeter輸入框中,輸入pytest -s -q。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

5.勾選定時構建,輸入0 18 15 6 1,表示測試用例將在6月15日星期一晚上18點正執行一次,這裡可以寫5個數字,每個數字之間用空格間隔。分別表示:分鐘、小時、日期幾號、幾月和星期幾。除了數字,也可用特殊符號表示時間:星號*代表所有有效取值、橫線-表示從幾到幾、除號/表示間隔時間、逗號表示枚舉。例如,要想每天晚上18點執行一次,可以寫0 18 * * *。大家可以自行嘗試,設置各種時間間隔。

第三步,Jenkins集成allure測試報告。

1.先安裝Allure插件。打開Jenkins,首頁點擊'系統管理'。

2.選擇'插件管理'。

3.選擇'可選插件',搜索輸入框輸入Allure,搜索出來的名字就叫Allure,當安裝後名字會變為Allure Jenkins Plugin。

4.jenkins配置頁,選擇'全局工具配置'。

5.全局工具配置頁下拉到最後一項,你會看到'Allure Commandline'項, 按下圖配置之後保存即可。

6.在構建觸發器中,選擇window批處理程序,在jmeter輸入框中,把前面輸入的pytest -s -q改成call pytest -s -q --alluredir ./allure-xml。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

7.在'構建後操作'(Post-build Actions)中選擇allure report,輸入Path名稱allure-xml,這裡的path名稱表示在項目根目錄下生成此文件夾,文件夾用來保存生成html報告之前的中間測試結果。

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

8.點擊'保存',點擊'立即構建'。

9.運行結束後,點擊'Allure Report',展示圖如下:

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你

這樣我們就完成了pytest + allure + jenkins 的集成配置。更多jenkins高級功能,請期待我的後續文章。

請關注+私信回覆:“測試”就可以免費拿到軟件測試學習資料和麵試題庫,快速讓自己變強!

如何打造高逼格的自動化測試報告?Pytest+Allure+Jenkins拯救你


分享到:


相關文章: