文章目录
1 jenkins的介绍与安装
1.1 应用场景
众所周知,写好一个自动化测试项目的代码之后,需要在命令行使用"pytest"进行运行,然后再使用命令“allure generate report/ -o report/html --clean”生成allure报告。但使用Jenkins可以自动地完成这些操作。
1.2 介绍
jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成成为可能。
1.3 安装
关于jenkins的安装,可参考小编的其他博客----使用运行war的形式安装jenkins
2 jenkins插件安装
2.1 安装Allure插件
要想使用Jenkins生成allure的xml文件,必须安装此插件
安装步骤
- 进入Jenkins,点击“系统管理” -》 “管理插件” -》 “可选插件”
- 搜索框中输入:allure,搜索结果中选中allure,点击“直接安装”即可

或者,离线安装,方式如下:
① 在下列网址找到要安装的插件,并下载。
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
http://mirror.esuni.jp/jenkins/plugins/
http://mirror.xmission.com/jenkins/plugins/
② 选择“高级”,在Upload Plugin中选择①中下载好的.hpi文件,再点击Upload即可。
2.2 安装Allure Commandline工具
要想使用Jenkins把allure的xml文件转成html文件,必须安装此工具
安装步骤
- 确保allure插件已经安装成功
- 点击“系统管理” -》“全局工具配置”
- 找到Allure Commandline,点击“Allure Commandline安装”
- 输入一个别名(随意)
- 输入安装目录
1)https://bintray.com/qameta/generic/allure2下载 allure-2.6.0.zip2.
2)解压缩到一个目录(不经常动的目录)
3)输入解压后的目录。(目录下应该包含四个文件夹,如图所示)
- 取消“自动安装”的选择
- 点击“save”进行保存

3 Jenkins持续集成
配置完成后,会自动执行一套流程:
1)自动从GitHub下载自动化测试项目
2)自动执行pytest进行运行
3)自动生成allure报告
4)如果项目中有不通过的脚步,会自动给相关人员发邮件
3.1 准备自动化项目
让Jenkins自动化执行某个项目并生成报告以及出错发邮件这些功能,必须先准备一个可以使用pytest运行的自动化项目。使用pytest+allure,并确保可以生成对应的allure报告。

3.2 将项目上传到GitHub
1)新建GitHub项目,输入项目名,点击创建。
2)将本地仓库的项目push到git上
3)查看项目的git地址
3.3 新建Jenkins项目
1)进入Jenkins主页,点击“新建”
2)输入项目名称,并点击“构建一个自由风格的软件项目”
3.4 Jenkins相关配置
3.4.1 General配置
勾选“Github project”,输入Project url
3.4.2 源码管理配置
1)勾选Git,输入Repository URL,点击Add,点击Jenkins
2)输入GitHub用户名和密码,点击Add
3.4.3 构建触发器配置
勾选Poll SCM,日程表中填写 */1 * * * *
3.4.4 构建配置
1)根据平台选择执行的命令类型
2)配置pytest环境变量
①mac
export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin
pytest

②Windows
PATH=$PATH;D:\SW\Python 3.6.6\Scripts
pytest

3.4.5 报告配置
1)点击增加构建后步骤,选择Allure Report
2)在path中输入allure报告的xml所在的目录名称
3)点击高级,在Report path中输入allure-report

3.4.6 邮件配置
- 发件人测试邮件配置
1)点击“系统管理” -》“系统设置”
2)找到Jenkins Location,在“系统管理员邮件地址”输入发件人测试邮箱地址。
3)找到邮件通知,输入SMTP服务器,如smtp.126.com,输入用户名默认邮件后缀,如@126.com。点击高级,输入用户名为发件人测试邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度)
4)勾选通过发件测试邮件测试配置
5)输入Test e-mail recipient为收件邮箱
6)点击Test configuration,会提示Email was successfully sent。收件人邮箱应该收到了邮件。
结果
- 发件人正式邮件配置
1)点击“系统管理” -》 “系统设置”
2)找到Extend E-mail Notification,输入SMTP服务器,如smtp.163.com,输入用户名默认邮件后缀,如@163.com
3)点击高级,输入用户名为发件人邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度)
4)选择Default Content Type为HTML
5)将以下html代码复制到Default Content中
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
git版本号:${GIT_REVISION}<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
目录:${ITEM_ROOTDIR}<br/><hr/>
构建日志地址:<a href=" ">${BUILD_URL}console</a ><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a ><br/><hr/>
报告地址:<a href="${BUILD_URL}allure">${BUILD_URL}allure</a ><br/><hr/>
失败数:${FAILED_TESTS}<br/><hr/>
成功数:${FAILED_TESTS}<br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
- 收件人配置
收件人需要在项目中进行配置。
1)进入项目
2)点击配置
3)点击构建后操作,点击增加构建后操作步骤,点击Editable Email Notification
4)点击右下角,高级 -> 高级设置 -> 高级


6)输入Recipient List为收件人,多个收件人用英文逗号隔开
结果
收到下图邮件,即为成功。
3.5 构建
所谓构建,也就是运行的意思。构建有两种方式,自动构建和手动构建。
自动构建
1)在配置触发器时,输入的*/1 * * * * ,表示Jenkins会每分钟检索GitHub,看是否有代码更新,如果有,则会自动构建。
2)Jenkins刚开始是没有任何代码的,当我们保存后,会自动检测GitHub,如果之前上传过代码,会自动构建。
3)等待构建完成,点击右侧图标,即可查看报告。

4)红色圆点表示项目中有未通过的测试脚本,如果全部通过,则为蓝色。手动构建
所谓手动构建,就是手动在项目主页点击构建。
【写在最后的话】
Jenkins新建一个项目后,初次构建时,由于有很多依赖包需要下载,可能会出现 timeout的提示。
ERROR: Timeout after 10 minutes
ERROR: Error fetching remote repo ‘origin’
解决措施:
1)在项目配置管理中找到git
2)点击Add,选择“Advanced clone behaviours”
3)默认超时时间为10分钟,设置一个更长的超时时间,如60分钟
4)点击apply和save
5)重新构建即可