之前給項目寫的接口自動化腳本是運行在windows的,后面想要用linux運行,
然后先是用虛擬機搭建linux試運行成功之后自己購買了服務器將代碼搭上了服務器。
當然由windows遷移到linux,很多地方是會出問題的,出現的問題也是一步步解決了。
今天解決的問題就是在jenkins生成allure報告是總是提示:allure-results does not exists
allure報告也一直沒有數據。找了一個上午的資料都沒有解決,但大概是知道應該是路徑的問題。
以下我將仔細描述解決思路。
這個也是紀念2021/12/7號這天,這個pytest接口自動化框架是我一個人從零開始寫的,
雖然肯定還是有些問題以及一些地方需要優化,但那是之后維護的事情,
今天在服務器運行我所要求的已經基本全部通過,已經可以作為項目正式運行了,歡呼!!!
1.首先分析運行路徑。我的代碼之前是運行自定義空間,但是這樣很容易就影響自己的代碼,所以我連接使用jenkies關聯了gitee,
直接調用gitee倉庫的代碼,在jenkies的工作台去運行。關聯完gitee之后,
服務器(linux)會在jenkies目錄/var/lib/jenkins/workspace/創建你的項目,因為在jenkies建的item項目名稱為Flag_Interface_Test,
所以可以在下面的xftp中看到路徑/var/lib/jenkins/workspace/Flag_Interface_Test,
然后/var/lib/jenkins/workspace/Flag_Interface_Test/testcase路徑,testcase是我所有的用例.py文件存放的地方。
即工作空間是Flag_interface_Test這里,我的代碼運行是Flag_Interface_Test/testcase這個地方。
2,我想很多人的想法和我一樣,我現在也覺得我們的邏輯好像沒什么問題,我們在/var/lib/jenkins/workspace/Flag_Interface_Test/testcase這里運行了代碼,
那應該就在當前運行目錄生成allure。我一開始認為工作空間就是我運行代碼的那個目錄,工作的地方就是工作空間,然而問題反復出現告訴我不是這樣,於是
我進行了嘗試,將allure-results生成到了/var/lib/jenkins/workspace/Flag_Interface_Test/下面,然后執行,然后成功了!!!就這樣子改動了一下就直接成功了,
網上各種操作都完全不需要,就只需要在生成路徑上加一個 . 就可以了。