升職加薪利器:Python+Pytest框架在Jenkins上生成Allure測試報告
在自動化測試執行之後,生成一個美觀大方的測試報告,也是測試過程中,非常最要的一環。測試報告直接反應了測試過程中發現的問題,分析測試報告是解決問題的最重要手段。那麼一個專業的測試報告應該長什麼樣呢?廢話不多說,直接上圖:
在上面這張測試報告中,整體用中文顯示,易於閱讀;左側導航欄包含總覽、分類、測試用例列表、圖表等多個模組;右側的總覽頁面中包含了用例數、成功率、歷史趨勢圖、用例分類等多張表格;頁面佈局簡約大方。
那麼如何生成這樣一份測試報告呢?
第一步,安裝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。如下圖。
第二步,安裝好依賴庫以後,下載並解壓allure命令列工具,用於後面步驟執行allure命令,下載地址一:;下載地址二:。把解壓後的allure資料夾,設定成環境變數。新增allure到環境變數PATH(\安裝路徑\allure-commandline\bin)。
第三步,確認allure安裝成功,在命令列輸入:allure --version,能展示allure安裝版本2.12.1即可。如果報錯,可能是因為電腦中沒有安裝jdk1.8造成的,這時安裝一個jdk1.8就好了。
第四步,透過pytest編寫自動化測試指令碼,如下圖。編寫pytest測試用例非常簡單,只需要按照下面的規則:
· 測試檔案以test_開頭
· 測試類以Test開頭
· 測試函式以test_開頭
第五步,執行測試用例。點選Pycharm底部Terminal;或者開啟dos視窗,切換到當前專案資料夾下,執行命令 pytest -s -q。Terminal應該能正常顯示列印結果如下。
第六步,為了測試報告內容豐滿,可以用第五步的方法,多建立一些測試用例。如下圖,也可以把用例放到多個包裡面。
第七步,建立好測試用例以後,在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資料夾中生成一個測試報告。
第九步,右鍵allure-report資料夾中的index.html檔案,選擇open in browser,再點選一個瀏覽器,比如chrome。
第十步,這時一個美觀的測試報告就會顯示如下了,快試試吧。
進階篇--定製報告
這時,點選左側導航欄中的‘功能’,展開以後,測試結果顯示如下:
在這裡,我們可以看到所有的測試用例直接顯示為方法名,這樣的可讀性不好。我們可以透過allure自帶的裝飾器給這些測試用例重新用中文起名,並且分類。如下圖:
為了實現上圖的樣式:allure提供瞭如下幾個裝飾器。@allure.feature('前臺子系統') 表示第一層分組,一般用來表示測試用例屬於哪個模組。@allure.story('註冊功能')表示第二層分組,一般用來表示測試用例屬於哪個功能。@allure.title('正常註冊測試')用來表示測試用例的標題。@allure.description('輸入正確的使用者資訊,註冊賬號')用來顯示測試用例中的描述資訊。具體程式碼如下圖:
除了上面這些裝飾器以外,allure測試報告中幾乎支援手工測試用例的所有要素,比如操作步驟,預置條件,後置操作,附件截圖等等。大家可以自己嘗試一下,其他要素我們後續再講。
高階篇--持續整合
在企業應用中,自動化測試往往需要頻繁執行,比如每隔一小時自動執行測試一次。執行完成後應該發郵件提醒tester,tester只需要開啟郵件就可以看到生成的測試報告。這又是怎麼做的呢?
第一步,準備環境,大家前面應該已經安裝過jdk了,我們從Tomcat官網下載最新的tomcat9,Jenkins官方網站下載最新的war包;也可以從我前面分享給大家的網址下載:。
1.安裝jdk
2.解壓tomcat
3.複製jenkins.war到tomcat的webapps目錄下
4.雙擊開啟bin目錄下面的startup.bat,這時會開啟一個dos視窗,注意永遠不要關閉這個視窗,否則就不能訪問jenkins網站了。
5.等1分鐘左右,開啟瀏覽器,輸入網址,多重新整理幾次,直到看到下圖
6.根據網頁中的提示,用記事本開啟提示C:\Users\......\.jenkins\secrets資料夾中的檔案initialAdminpassword。
7.複製檔案中的內容到‘管理員密碼’輸入框中
8.點下一步
9.在custom jenkins頁面選擇suggested jenkins plugin(安裝推薦的外掛)。
10.等所有的外掛下載好以後, 設定使用者名稱和密碼。
11.登入進入主介面。
第二步,進入到jenkins主介面以後,我們來建立第一個jenkins任務。
1.在主頁點選“新建”
2.選擇自由風格的軟體專案
3.點選general配置中的‘高階’,選擇‘自定義工作空間’,設定成你的專案路徑,比如我的專案在這個路徑中C:\Users\51Testing\PycharmProjects\changcheng。
4.在構建觸發器中,選擇window批處理程式,在jmeter輸入框中,輸入pytest -s -q。
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。
7.在‘構建後操作’(Post-build Actions)中選擇allure report,輸入Path名稱allure-xml,這裡的path名稱表示在專案根目錄下生成此資料夾,資料夾用來儲存生成html報告之前的中間測試結果。
8.點選‘儲存’,點選‘立即構建’。
9.執行結束後,點選‘Allure Report’,展示圖如下:
這樣我們就完成了pytest + allure + jenkins 的整合配置。更多jenkins高階功能,請期待我的後續文章。
加我VX:17324089390 回覆關鍵詞“測試”領取限量軟體測試學習資料哦~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2675925/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- allure生成測試報告 0 NAN%測試報告NaN
- Jenkins上實現Python + Jenkins + Allure Report 介面自動化測試持續整合,並生成allure-report測試報告JenkinsPython測試報告
- Allure測試報告測試報告
- pytest(11)-Allure生成測試報告(一)測試報告
- jenkins+pytest+allure 介面測試生成報告只顯示第一次的測試結果Jenkins
- allure測試報告不出來,json類檔案不生成測試報告JSON
- Jenkins+Allure測試報告+飛書機器人傳送通知Jenkins測試報告機器人
- Jmeter——結合Allure展示測試報告JMeter測試報告
- allure 測試報告怎麼嵌入到測試平臺?測試報告
- Jenkins 整合 allure 報告無資料Jenkins
- Allure測試報告完整學習筆記測試報告筆記
- 整合 extentreports、beautifulreport、allure 測試報告測試報告
- 如何利用Allure報告提升你的測試效率?
- mac 上構建 Jenkins+allure 報告時,一直報錯--急,線上等MacJenkins
- Allure 測試報告:allure.title 如何去掉後方的引數化顯示測試報告
- pytest+allure 生成測試報告,如果保留同一個測試用例的多次執行的日誌資訊。測試報告
- Python做介面測試生成測試報告失敗Python測試報告
- 升職加薪之 HttpRunner 請求 Dubbo 介面HTTP
- pytest+python3+requests+jenkins+git+allure介面測試框架PythonJenkinsGit框架
- 技術週刊 · Lighthouse 測試報告生成測試報告
- 介面自動化使用requests生成測試報告測試報告
- 《千鋒UI設計進階全套影片合集》限時免費領,助你升職加薪的利器!UI
- Pytest單元測試框架生成HTML測試報告及優化框架HTML測試報告優化
- Pytest單元測試框架——Pytest+Allure+Jenkins的應用框架Jenkins
- 請逼自己學會這8個測試技能!年後在軟體行業輕鬆升職加薪!行業
- jenkins 構建歷史中的測試報告打不開Jenkins測試報告
- 有傳聞說,寫好總結可以升職加薪?
- 超實用,同事升職加薪全靠這套PPT模板!
- 升職! 加薪!-產品經理也要學管理,效率工具
- 為 java 開發者設計的效能測試框架,用於壓測+測試報告生成Java框架測試報告
- 介面自動化 是 pytest 結合 allure 生成報告問題
- Jumper 測試報告測試報告
- 雲測試報告測試報告
- Redis測試報告Redis測試報告
- Bacula測試報告測試報告
- allure-results 在 jenkins 的 job 目錄未生成,報告一直是最開始的資料。怎麼顯示最新的報告Jenkins
- TestNG+ExtentReports生成超漂亮的測試報告測試報告
- jmeter無圖形介面執行測試並生成報告JMeter