您好,登錄后才能下訂單哦!
Python+Pytest框架在Jenkins上怎樣生成Allure測試報告,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
在自動化測試執(zhí)行之后,生成一個美觀大方的測試報告,也是測試過程中,非常最要的一環(huán)。測試報告直接反應(yīng)了測試過程中發(fā)現(xiàn)的問題,分析測試報告是解決問題的最重要手段。那么一個專業(yè)的測試報告應(yīng)該長什么樣呢?廢話不多說,直接上圖:
在上面這張測試報告中,整體用中文顯示,易于閱讀;左側(cè)導(dǎo)航欄包含總覽、分類、測試用例列表、圖表等多個模塊;右側(cè)的總覽頁面中包含了用例數(shù)、成功率、歷史趨勢圖、用例分類等多張表格;頁面布局簡約大方。
那么如何生成這樣一份測試報告呢?
第一步,安裝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命令行工具,用于后面步驟執(zhí)行allure命令,下載地址一:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A;下載地址二:https://github.com/allure-framework/allure-pytest。把解壓后的allure文件夾,設(shè)置成環(huán)境變量。添加allure到環(huán)境變量PATH(\安裝路徑\allure-commandline\bin)。
第三步,確認(rèn)allure安裝成功,在命令行輸入:allure --version,能展示allure安裝版本2.12.1即可。如果報錯,可能是因為電腦中沒有安裝jdk1.8造成的,這時安裝一個jdk1.8就好了。
第四步,通過pytest編寫自動化測試腳本,如下圖。編寫pytest測試用例非常簡單,只需要按照下面的規(guī)則:
· 測試文件以test_開頭
· 測試類以Test開頭
· 測試函數(shù)以test_開頭
第五步,執(zhí)行測試用例。點擊Pycharm底部Terminal;或者打開dos窗口,切換到當(dāng)前項目文件夾下,執(zhí)行命令 pytest -s -q。Terminal應(yīng)該能正常顯示打印結(jié)果如下。
第六步,為了測試報告內(nèi)容豐滿,可以用第五步的方法,多創(chuàng)建一些測試用例。如下圖,也可以把用例放到多個包里面。
第七步,創(chuàng)建好測試用例以后,在Terminal中執(zhí)行命令:pytest -s -q --alluredir allure-xml。這時就會運行測試用例。-s表示允許終端在測試運行時輸出結(jié)果,-q表示簡化輸出結(jié)果,--alluredir表示把生成的中間結(jié)果保存到allure-xml文件夾。
第八步,等測試用例執(zhí)行完畢。繼續(xù)在Terminal中執(zhí)行命令:allure generate allure-xml -o allure-report --clean。這樣就會根據(jù)allure-xml文件夾里的中間結(jié)果在allure-report文件夾中生成一個測試報告。
第九步,右鍵allure-report文件夾中的index.html文件,選擇open in browser,再點擊一個瀏覽器,比如chrome。
第十步,這時一個美觀的測試報告就會顯示如下了,快試試吧。
進(jìn)階篇--定制報告
這時,點擊左側(cè)導(dǎo)航欄中的‘功能’,展開以后,測試結(jié)果顯示如下:
在這里,我們可以看到所有的測試用例直接顯示為方法名,這樣的可讀性不好。我們可以通過allure自帶的裝飾器給這些測試用例重新用中文起名,并且分類。如下圖:
為了實現(xiàn)上圖的樣式:allure提供了如下幾個裝飾器。@allure.feature('前臺子系統(tǒng)') 表示第一層分組,一般用來表示測試用例屬于哪個模塊。@allure.story('注冊功能')表示第二層分組,一般用來表示測試用例屬于哪個功能。@allure.title('正常注冊測試')用來表示測試用例的標(biāo)題。@allure.description('輸入正確的用戶信息,注冊賬號')用來顯示測試用例中的描述信息。具體代碼如下圖:
除了上面這些裝飾器以外,allure測試報告中幾乎支持手工測試用例的所有要素,比如操作步驟,預(yù)置條件,后置操作,附件截圖等等。大家可以自己嘗試一下,其他要素我們后續(xù)再講。
高級篇--持續(xù)集成
在企業(yè)應(yīng)用中,自動化測試往往需要頻繁執(zhí)行,比如每隔一小時自動執(zhí)行測試一次。執(zhí)行完成后應(yīng)該發(fā)郵件提醒tester,tester只需要打開郵件就可以看到生成的測試報告。這又是怎么做的呢?
第一步,準(zhǔn)備環(huán)境,大家前面應(yīng)該已經(jīng)安裝過jdk了,我們從Tomcat官網(wǎng)下載最新的tomcat9,Jenkins官方網(wǎng)站下載最新的war包;也可以從我前面分享給大家的網(wǎng)址下載:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A。
1.安裝jdk
2.解壓tomcat
3.復(fù)制jenkins.war到tomcat的webapps目錄下
4.雙擊打開bin目錄下面的startup.bat,這時會打開一個dos窗口,注意永遠(yuǎn)不要關(guān)閉這個窗口,否則就不能訪問jenkins網(wǎng)站了。
5.等1分鐘左右,打開瀏覽器,輸入網(wǎng)址http://localhost:8088/jenkins/,多刷新幾次,直到看到下圖
6.根據(jù)網(wǎng)頁中的提示,用記事本打開提示C:\Users\......\.jenkins\secrets文件夾中的文件initialAdminpassword。
7.復(fù)制文件中的內(nèi)容到‘管理員密碼’輸入框中
8.點下一步
9.在custom jenkins頁面選擇suggested jenkins plugin(安裝推薦的插件)。
10.等所有的插件下載好以后, 設(shè)置用戶名和密碼。
11.登錄進(jìn)入主界面。
第二步,進(jìn)入到j(luò)enkins主界面以后,我們來創(chuàng)建第一個jenkins任務(wù)。
1.在主頁點擊“新建”
2.選擇自由風(fēng)格的軟件項目
3.點擊general配置中的‘高級’,選擇‘自定義工作空間’,設(shè)置成你的項目路徑,比如我的項目在這個路徑中C:\Users\51Testing\PycharmProjects\changcheng。
4.在構(gòu)建觸發(fā)器中,選擇window批處理程序,在jmeter輸入框中,輸入pytest -s -q。
5.勾選定時構(gòu)建,輸入0 18 15 6 1,表示測試用例將在6月15日星期一晚上18點正執(zhí)行一次,這里可以寫5個數(shù)字,每個數(shù)字之間用空格間隔。分別表示:分鐘、小時、日期幾號、幾月和星期幾。除了數(shù)字,也可用特殊符號表示時間:星號*代表所有有效取值、橫線-表示從幾到幾、除號/表示間隔時間、逗號表示枚舉。例如,要想每天晚上18點執(zhí)行一次,可以寫0 18 * * *。大家可以自行嘗試,設(shè)置各種時間間隔。
第三步,Jenkins集成allure測試報告。
1.先安裝Allure插件。打開Jenkins,首頁點擊‘系統(tǒng)管理’。
2.選擇‘插件管理’。
3.選擇‘可選插件’,搜索輸入框輸入Allure,搜索出來的名字就叫Allure,當(dāng)安裝后名字會變?yōu)锳llure Jenkins Plugin。
4.jenkins配置頁,選擇‘全局工具配置’。
5.全局工具配置頁下拉到最后一項,你會看到‘Allure Commandline’項, 按下圖配置之后保存即可。
6.在構(gòu)建觸發(fā)器中,選擇window批處理程序,在jmeter輸入框中,把前面輸入的pytest -s -q改成call pytest -s -q --alluredir ./allure-xml。
7.在‘構(gòu)建后操作’(Post-build Actions)中選擇allure report,輸入Path名稱allure-xml,這里的path名稱表示在項目根目錄下生成此文件夾,文件夾用來保存生成html報告之前的中間測試結(jié)果。
8.點擊‘保存’,點擊‘立即構(gòu)建’。
9.運行結(jié)束后,點擊‘Allure Report’,展示圖如下:
這樣我們就完成了pytest + allure + jenkins 的集成配置。
看完上述內(nèi)容,你們掌握Python+Pytest框架在Jenkins上怎樣生成Allure測試報告的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。