前言
在用python做自動化測試時,我們寫好代碼,然后需要執行才能得到測試報告,這時我們可以通過 Jenkins
來進一步完成自動化工作。
借助Jenkins,我們可以結合 Git/SVN 自動拉取代碼,可以設置定時構建,接着就可以定時觸發執行腳本,得到並查看測試報告,最后還可以配置發送郵件等。
今天我們就來學習下,如何結合 Git/SVN 自動拉取代碼,通過構建來自動執行python腳本輸出測試報告。
Jenkins創建Job
- 新建一個自由風格的項目
登錄Jenkins后,選擇新建任務,新建一個自由風格的項目。
- 設置源碼管理
在源碼管理下,選擇Git。
Repository URL
指代碼倉庫地址,復制Github倉庫的地址填入即可。
注意:如果是SSH方式鏈接的,點右上角的SSH地址,使用SSH方式的話需要設置SSH Key。
如果選擇的時候沒有顯示Git賬戶,則需要添加一個,在添加界面填上自己Git倉庫登錄的賬號和密碼,如下:
- 構建操作
接着,我們可以設置構建觸發器,構建步驟等操作。定時構建語法,這里不多介紹,大家可以去網上查找學習。
設置構建步驟,如下:
在這里,需要輸入執行命令,也就是說Jenkins將Git倉庫代碼下載之后,我們要怎么通過命令去執行腳本,這個根據自己執行腳本的情況填寫即可,這里和我們手工執行腳本的操作是一致的。
構建Job
上面設置完成之后,保存即可。回到工作台,進入任務模塊點擊立即構建,我們測試一下構建執行腳本是否正常。
如上,如果構建顯示為藍色,則表示構建成功,構建之后可以點擊構建的任務圖標,查看具體的構建日志,控制台輸出等相關信息。
復制上面的路徑,然后到Linux下查看一下。
[root@wintest test_demo]# cd /root/.jenkins/workspace/test_demo
[root@wintest test_demo]# ls
api common config data log README.md report run_all.py testcases
[root@wintest test_demo]#
到這里,我們已經通過Jenkins結合Git自動拉取代碼,通過構建來自動執行python腳本。
安裝HTML報告插件
上面我們已經通過構建執行python腳本,得到測試報告,但不能在Jenkins界面上直接查看報告。對此,我們可以安裝一個插件來達到這個目的。
進入插件管理界面,選擇可選插件,然后搜索插件:HTML Publisher
,直接安裝即可。
安裝完成之后,返回工作台。找到創建的Job,重新設置 構建后操作步驟
,選擇 Publish HTML reports
。
注意:在這里,我們通過執行python腳本生成的測試報告,如果包含詳細時間的(比如這樣
TestReport_20200112151736.html
),可能不太好弄,因此我這里設置生成的測試報告是固定的名稱,這樣就方便多了。
查看測試報告
配置完成后,構建成功就可以看到測試報告了。
點擊查看報告后,發現報告和我們手動在瀏覽器打開的不一樣,這是因丟失了css樣式導致的,解決這個問題的方法有多種,可以參考網上的博客:jenkins 生成html報告顯示樣式問題
我解決的方法如下:
首先,安裝 Groovy
插件,重啟Jenkins。
接着修改一下項目的配置,增加構建步驟:Execute system Groovy script
,輸入內容:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
,最后保存。
上面設置完成,返回工作台,需要重新構建項目才生效,構建后再次查看報告,可以看到顯示正常了。
OK,到這里我們已成功實現Jenkins自動執行python腳本,輸出並可直接在界面上查看測試報告。