linux+jenkins+pytest+allure集成搭建


 

一、安裝JDK1.8(此步可以參考度娘,比較容易)

 

一、安裝python(此步可以參考度娘,比較容易)

  坑1:安裝過程中由於服務器存在多個版本python,pip安裝的包沒有安裝到對應版本的python目錄,導致python腳本無法執行

  解決方案:方法1、卸載其他python版本,再重裝,不過卸載不干凈也有可能有問題

       方法 2、修改pip安裝目錄

        

 

        編輯 /usr/python/lib/python3.8/site.py文件(user_site就是對應的/usr/python/lib/python3.8/site-packages,user_base我還不太懂,我是設置成/usr/python/lib/python3.8)

        

       方法3、命令中指定安裝目標:pip install numpy --target=/usr/local/lib/python2.7/site-packages

 

    坑2、linux多用戶,明明已經把python環境變量配在了/etc/profile,但是echo $PATH時就是沒有python的環境變量,導致無法執行Python命令

    解決方案:1.1、修改用戶名下的.bashrc(vim /home/用戶名/.bashrc),把變量直接導入,如下:

            export PATH=$PATH:/usr/python/bin
            export PATH=$PATH:/data/software/allure-2.17.2/bin

         1.2、修改完,使用source /home/wos/.bashrc使用修改生效

 

二、安裝jenkins(此步可以參考度娘,比較容易)

 

三、安裝allure

  3.1、下載allure:https://github.com/allure-framework/allure2/releases

  3.2、解壓

  3.3、配置環境變量    

    將解壓后allure下bin目錄的路徑/XXX/bin配置進環境變量

    vi /etc/profile

    # 在PATH后追加以下內容,保存

    :$PATH:/XXX/bin 

    # 使環境變量生效

    source /etc/profile

  3.4、驗證

    在命令行輸入allure --version,能出現版本說明allure命令行已經安裝成功了


四、Jenkins插件Allure

  4.1、安裝Allure Jenkins Plugin

  4.2、配置Allure Jenkins Plugin

    4.2.1、進入「系統設置」->「Global Tool Configuration」

    4.2.2、配置

    

    

 

  4.3、安裝HTML Publisher Plugin

  4.4、重啟jenkins

 

五、安裝pytest的allure插件

  5.1、pip install allure-pytest -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

  5.2、代碼需要的插件 pip install -r /XXX/requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

  注:-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com為中國鏡像,如果公司網絡無法下載,可以加上,或者加其他鏡像。

 

六、jenkins建job

  6.1、建一個自由風格的job

    

 

 

 

   6.2、配置代碼地址,摘取代碼

    

 

  6.3、配置執行代碼

   

 

    shell代碼如下:      

export PATH=$PATH:/usr/python/bin
export PATH=$PATH:/data/software/allure-2.17.2/bin

folder_test=$1
file_test=$2
class_test=$3
case_test=$4
thread_test=$5

cd /data/jiangyf/pytest_allure
python3 main.py $folder_test $file_test $class_test  $case_test $thread_test

    注:我是把執行命令放到一個shell中,然后再執行這個shell,也可以把命令放在上圖的的框內。     

      這里有個問題,在終端執行python3 main.py沒有問題的,但是在jenkins執行會報python3: command not found,由於沒有找到解決方法,所以直接變量寫到腳本中。

    main.py代碼如下:    

import os
import pytest
import sys

if __name__ == '__main__':
    folder_test = sys.argv[1]
    file_test = sys.argv[2]
    class_test = sys.argv[3]
    case_test = sys.argv[4]
    thread_test = sys.argv[5]
    if case_test == 'None':
        pytest.main(['--clean-alluredir', '-s', '-q', '--alluredir', './temp',
                     folder_test+'/'+file_test, '-n=' + thread_test])
        os.system('allure generate ./temp -o ./report --clean')
    else:
        pytest.main(['--clean-alluredir', '-s', '-q', '--alluredir', './temp',
                     folder_test + '/' + file_test + '::' + class_test + '::' + case_test, '-n=' + thread_test])
        os.system('allure generate ./temp -o ./report --clean')

  

  6.4、配置allure

     

 

 

    

 

     注:jenkins上配置的目錄,默認是要工作目標下(即代碼所有目錄)

    

 

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM