1.在linux服務器上下載接口腳本中使用到的插件,如requests,咱們服務器上有兩個python版本,個人腳本是py3的,因此要指定下載,以下css
[10:56 root@cctest200 ~]# pip install -t /usr/local/lib/python3.6/site-packages/ requestshtml
2.腳本上傳gitlab,上傳命令請參考我上一篇博客python
3.jenkins建立一個自由風格的項目,源碼管理選擇git,貼上你的倉庫地址linux
4.execute shell,第一行可能要根據各公司的路徑不一樣作調整,第二行是你要運行的腳本路徑--這裏我有一車的話要講,等下看最後git
5.jenkins 下載html report 插件,第一行寫你報告存放的文件夾名稱(相對路徑),我這裏默認的是shell
/home/jenkins/workspace/huj_paycenter/report
第二行是默認的報告名稱,這裏建議不要改動,而且把你生成的報告名稱改爲如出一轍的,每次生成報告後覆蓋;不要搞成test+時間之類的,親測可能報404錯誤;page tiltle隨便寫,最後一行不用動;我對路徑這個真的不熟,以致於我以爲在pycharm上運行沒問題,搬到服務器上也同樣ok了(天真),昨天反覆測試,發現運行雖然沒報錯,可是始終沒產生最新的報告,就在於我這個./report寫成了 report以致於一直獲取不到最新的報告服務器
補充另一個緣由,execute shell裏的路徑也可能寫錯了,好比咱們測試本身新建了一個jenkins,須要把代碼從舊的移到新的來,舊的路徑是jenkins/workspace,而新的則是jenkins1/jobs/workspace,這些小細節必定要注意了,由於不會報錯,要本身細細的查看gitlab
6.構建成功後打開html報告查看格式,極可能你會看到css樣式丟失的樣子,不美觀,這裏先給一條臨時方案測試
在jenkins--系統管理--腳本命令行裏輸入:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")。點擊運行spa
而後再從新構建接口腳本,再次打開html報告便可查看完美報告
2
好啦,如今接第4條接着埋汰本身,能夠看到我在execute shell裏寫了多行但註釋掉了,緣由就是我運行runtestcase時沒有報錯,可是運行結果是
以爲real困惑,由於在pycharm裏運行的很6,徹底沒有問題;後來請教了大神才知道是由於我沒有指定runtestcase裏導入文件的路徑,jenkins構建時找不到這些文件,固然就不會運行了(但你爲何不報錯?)
當咱們導入一個模塊時:import xxx,默認狀況下python解析器會搜索當前目錄、已安裝的內置模塊和第三方模塊,搜索路徑存放在sys模塊的path中:這就是爲啥你在pycharm裏沒問題,由於它都給你設置好了,但搬到服務器上不會,因此你須要明確指定你導入的這些文件的路徑
好比,下方圈起來的這些我本來寫的是相對路徑,好比../payApi什麼的,可是放服務器上就不行了,你必需要寫清楚
***獲取上級目錄***
print(os.path.abspath(os.path.dirname(os.getcwd())))
運行結果是/Users/queena/PycharmProjects/payCenter,大的路徑指明瞭,你的import才能順着找到相關的文件
而後你的運行命令很簡單,指明要執行的python3 版本及文件便可
仍是要多動手多實踐,否則好東西你都不知道本身一點都不懂!
測試代碼:
import os import sys print("***獲取當前目錄***") #兩種方式實現 print(os.getcwd()) print(os.path.abspath(os.path.dirname(__file__))) #獲取payApi print("***獲取上級目錄***") print(os.path.abspath(os.path.dirname(os.getcwd()))) #獲取payCenter print(os.path.abspath(os.path.dirname(os.path.dirname(__file__)))) print("***返回路徑列表***") print(sys.path) #返回路徑列表 print ('***獲取上上級目錄***') print (os.path.abspath(os.path.join(os.getcwd(), "../.."))) #Pycharmprojects
再補充一個小技巧,jenkins有釘釘通知的插件,咱們能夠在這個通知連接上作文章,讓通知到羣裏的連接能夠直接被打開而後查看報告,默認的連接是域名(ip)/jenkins,咱們在後面再拼上報告的連接,記得必定要加上?由於jenkins構建成功後的通知會自動給你加上http://127.0.0:8010/jenkins/job/huj_paycenter/HTML_20Report/job/huj_paycenter/58/ 20report 後面的那一串job~~~~~~,致使直接點擊羣通知的連接時404,
加上?自定義參數後就不會有這個問題了,能夠直接打開