jenkins+python自动化测试项目持续集成

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文件,必须安装此插件
安装步骤

  1. 进入Jenkins,点击“系统管理” -》 “管理插件” -》 “可选插件”
  2. 搜索框中输入: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文件,必须安装此工具
安装步骤

  1. 确保allure插件已经安装成功
  2. 点击“系统管理” -》“全局工具配置”
  3. 找到Allure Commandline,点击“Allure Commandline安装”
  4. 输入一个别名(随意)
  5. 输入安装目录
    1)https://bintray.com/qameta/generic/allure2下载 allure-2.6.0.zip2.
    2)解压缩到一个目录(不经常动的目录)
    3)输入解压后的目录。(目录下应该包含四个文件夹,如图所示)
    在这里插入图片描述
  6. 取消“自动安装”的选择
  7. 点击“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. 发件人测试邮件配置
    1)点击“系统管理” -》“系统设置”
    2)找到Jenkins Location,在“系统管理员邮件地址”输入发件人测试邮箱地址。
    在这里插入图片描述
    3)找到邮件通知,输入SMTP服务器,如smtp.126.com,输入用户名默认邮件后缀,如@126.com。点击高级,输入用户名为发件人测试邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度)
    在这里插入图片描述
    4)勾选通过发件测试邮件测试配置
    5)输入Test e-mail recipient为收件邮箱
    6)点击Test configuration,会提示Email was successfully sent。收件人邮箱应该收到了邮件。
    在这里插入图片描述
    结果
    在这里插入图片描述
  2. 发件人正式邮件配置
    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. 收件人配置
    收件人需要在项目中进行配置。
    1)进入项目
    2)点击配置
    3)点击构建后操作,点击增加构建后操作步骤,点击Editable Email Notification
    在这里插入图片描述
    4)点击右下角,高级 -> 高级设置 -> 高级
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    6)输入Recipient List为收件人,多个收件人用英文逗号隔开
    在这里插入图片描述
    结果
    收到下图邮件,即为成功。
    在这里插入图片描述

3.5 构建

所谓构建,也就是运行的意思。构建有两种方式,自动构建和手动构建。

  1. 自动构建
    1)在配置触发器时,输入的*/1 * * * * ,表示Jenkins会每分钟检索GitHub,看是否有代码更新,如果有,则会自动构建。
    2)Jenkins刚开始是没有任何代码的,当我们保存后,会自动检测GitHub,如果之前上传过代码,会自动构建。
    3)等待构建完成,点击右侧图标,即可查看报告。
    在这里插入图片描述
    在这里插入图片描述
    4)红色圆点表示项目中有未通过的测试脚本,如果全部通过,则为蓝色。

  2. 手动构建
    所谓手动构建,就是手动在项目主页点击构建。
    在这里插入图片描述

【写在最后的话】

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)重新构建即可


版权声明:本文为vale_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。