【技能Up】接口自動化測試框架學習(一)——pytest+Allure

每天學點新知識,心情都美好了~

前言:

2021年12月,入職新公司,做軟件測試工程師。新公司的測試部門人手比較少,但項目不少,屬于剛想進行自動化測試平臺搭建的階段,大家都是邊學習邊成長,編程能力也都不那么厲害,需要我自己努力學習,倒是一個機會。

昨天拉了最新的已有自動化測試代碼,很多都是重復(fù)代碼,后期運維成本較大,甚至有一個文件就一個類,一個函數(shù)的情況,后期可以做一下框架的優(yōu)化。目標是要搭建完成一個基于 Python + pytest + allure + log + yaml + mysql(暫無) + 釘釘通知(暫無) + Jenkins 的接口自動化框架。

在前公司雖然用過python做自動化測試,但更偏向于接口mock測試,用的是Django+Vue+python的框架,寫點模擬接口,做做測試報告展示頁面,pytest和allure都是第一次接觸,今天就玩了下如何安裝pytest、allure,試了下pytest的執(zhí)行及allure的執(zhí)行。

正文:

pytest的安裝比較簡單,pip install pytest就行。為了更方便運行,需要在pycharm中做下述配置

1. File-Settings-Tools-Python Integrated Tools中,配置Default test runner為pytest;

2. 右上角,選擇Edit Configurations,新增Python tests,選擇pytest類型,選擇使用的python interpreter,并選擇要執(zhí)行的.py文件即可。(我使用的是PyCharm Community Edition 2021.3.2)

這樣配置好之后,調(diào)試過程中,只需要在右上角選擇待執(zhí)行的腳本,點擊執(zhí)行按鈕即可?;蛘呤謩釉诿羁刂破髦校斎雙ytest *.py

3. allure的安裝遇到了坑,下面有詳細解說,執(zhí)行的話,主要是三個命令。

首先,在執(zhí)行pytest的時候,要帶上--alluredir配置,指定測試結(jié)果txt,json等報告的生成路徑

例如: pytest .\case\test_*.py --alluredir .\report\result\

第二步,使用allure generate命令,將測試結(jié)果轉(zhuǎn)化成html

例如:allure generate .\report\result\ -o .\report\html\ --clean

最后,在report\html\下面,通過瀏覽器打開,或者通過啟動服務(wù)打開,兩種方式:

? ? ? ? ? ? 1.allure open ./report/allure_report

? ? ? ? ? ? 2.allure serve ./report/allure_raw

就可以生成漂亮的頁面報告了。

總結(jié):

花了一天的時間看懂了現(xiàn)有代碼的架構(gòu)及運行主流程并跑通,中間下載工具的時間有點打醬油。跟大神不能比,但對自己來說是個進步,希望繼續(xù)加油,并能盡量記錄學習過程。

后續(xù)計劃:

1.測試用例yaml文件書寫解讀,嘗試修改或新增;

2.測試用例代碼是否可自動生成或復(fù)用調(diào)研;

3.持續(xù)性pytest文檔學習;



安裝執(zhí)行過程中遇到的報錯:

1.執(zhí)行? pytest .\case\test_***.py

? 提示:AttributeError: module 'allure' has no attribute 'severity_level'

? 原因:同時安裝了allure-pytest,pytest-allure-adaptor

? 解決辦法:卸載pytest-allure-adaptor

2.執(zhí)行? pytest .\case\test_***.py

? 提示:from case.get_token import get_accesstoken

? ? ? ? ? ? E? ModuleNotFoundError: No module named 'case'

? 原因:get_token與test_***.py在同一級目錄case下,這個是舊代碼的寫法,不知道是什么版本原因,我用的python 3.7, 已經(jīng)不支持這種寫法

? 解決方法:from get_token import *

3. 執(zhí)行 allure generate .\report\result\ -o .\report\html\ --clean

? ? 提示:ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

? ? 原因:安裝allure的前提——cmd中輸入java和javac都可以運行

? ? 解決方法:1.安裝jdk(我裝的jdk8)

? ? ? ? ? ? ? ? ? ? ? 2.配置系統(tǒng)環(huán)境變量,參照https://www.cnblogs.com/Sunne/p/7998477.html

? ? ? ? ? ? ? ? ? ? ? 3.重啟pycharm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容