之前的代碼是在windows上面開發的,後來要通過jenkins(已經部署完畢,這裏不做說明)和allure來生成可讀的測試報告.最後決定把代碼從windows上面切到linux\上面去.主要工作包含了以下幾點
1/代碼通過github管理同步
2/搭建python的虛擬環境virtualenv
3/jenkins下配置allure以及郵件
代碼通過github管理同步
涉及到的工作就包含了在linux上面配置git相關的環境,坑比較多,參考 https://blog.csdn.net/chenguolinblog/article/details/19929509
搭建python的虛擬環境virtualenv
linux默認的版本是python2,這裏就需要安裝python3,參考https://www.cnblogs.com/kimyeee/p/7250560.html
爲了後續的多項目管理,這裏需要創建虛擬環境來管理python,運用到virtualenv以及管理環境的virtualenvwrapper https://www.jianshu.com/p/2857638f039d
再安裝相關的包 pytest allure-pytest 等.
3 jenkins下配置allure以及郵件
這個之前有在windows下配置過,這裏只把以前自己不太清楚的地方記錄下,
這裏要說明的是報告的生成過程,會先生成一個json格式的文件,生成後存放到我們配置的allure-report下,這個目錄系統不會自動創建,需要手工創建.對應的命令行是 /home/tomcat/.virtualenvs/twerp_p3/bin/pytest -s -q ${WORKSPACE} --alluredir ${WORKSPACE}/allure-report,至於最後生成的hmtl,應該是之前有配置的allure-commandline 作用的結果,可以看到輸出日誌中的記錄:
/home/tomcat/.jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate /home/tomcat/zhouxuan/project/TWERP/API/allure-report -c -o /home/tomcat/zhouxuan/project/TWERP/API/allure-report1 就是這個命令執行生成的html.路徑包含了allure-command .所以總結下來就是shell只執行到了生成json,後面的html是allure-commandline來處理的,且處理的時候,存放html的目錄不存在的時候,會自動來創建目錄.
另外當使用虛擬環境來執行的時候,workon 放到shell裏面,運行的時候會提示命令行錯誤.我是直接指定到虛擬環境的bin目錄下來執行的 /home/tomcat/.virtualenvs/twerp_p3/bin/pytest -s -q ${WORKSPACE} --alluredir ${WORKSPACE}/allure-report
其中的${WORKSPACE}在下圖中配置就可以.