jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)

1、jenkins安装插件

插件名称为Allure Jenkins Plugin,如下图所示:
在这里插入图片描述

2、jenkins安装allure_commandline

如果jenkins上有安装maven的话则此工具安装就比较简单了,打开jenkins的Global Tool Configuration,找到Allure Commandline,选择安装,如下所示:
jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)_第1张图片
如果没有安装maven,则需要去jenkins服务器上安装此工具,安装方法参考文章:https://blog.csdn.net/df0128/article/details/90906678

3、准备pytest用例

在执行机上准备好pytest用例,并安装好allure-pytest

4、jenkins上安装好ansible

此工具的安装就不再复述了,要同时添加到执行机的映射;

5、jenkins安装远程shell执行工具

参考博文进行安装即可:https://blog.csdn.net/df0128/article/details/90298591

5、创建一个jenkins工程

添加远程执行脚本,内部包含执行脚本和生成报告、打包代码;

cd /usr/games/pytest/saasapitest
rm -rf /usr/games/pytest/saasapitest/config.properties
git pull
rm -rf /allure-results.tar.gz
./switchEnv.sh $env_name
/usr/local/python3/bin/pytest -m "online_somkeTest" --html=report/report.html --self-contained-html --alluredir report/xml
cd report
mv report.html /report.html
tar zcf /allure-results.tar.gz xml

而后再添加一个Excell shell构建步骤,用于在jenkins上执行shell脚本,脚本内容如下:

ansible test_63 -m fetch -a "src=/allure-results.tar.gz dest=${workspace} force=yes"
ansible test_63 -m fetch -a "src=/report.html dest=${workspace} force=yes"
tar -zxvf /data/nexus/jenkins/workspace/dispatch_smoke_test/test_63/allure-results.tar.gz

此脚本内包含将生成的html报告和allure报告压缩包拷贝到workspace下并解压;
jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)_第2张图片

6、添加allure报告

增加一个构建后报告,选择allure,Result内填写的是前面生成的allure的xml报告的路径,其会自动调用allure_commandline去将xml文件转化为allure报告并加入到jenkins的工程中;
jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)_第3张图片

7、添加邮件发送

再添加一个构建后操作,将构建报告进行发送,如下所示:
在这里插入图片描述
jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)_第4张图片
此email工具的安装和使用参考博文:https://blog.csdn.net/df0128/article/details/90905700
如上图红框处即为将生成的html报告附加到报告中的代码;

8、结果

job运行完毕后可以在界面上看到如下图红框内的内容:
jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)_第5张图片
邮件结果:
jenkins+allure+pytest持续集成(使用非jenkins机器作为执行机)_第6张图片

你可能感兴趣的:(python,jenkins,allure,pytest)