Jenkins+Python自动化测试持续集成详细教程

2021年09月15日 阅读数:1
这篇文章主要向大家介绍Jenkins+Python自动化测试持续集成详细教程,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。


Jenkins安装

Jenkins安装

Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工做,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。因为是基于java开发所以它也依赖java环境,安装以前须要先安装jdk,建议jdk1.8+,安装后配置java环境变量。安装jdk成功后,在cmd使用java -version可查看jdk版本信息。css

官网下载地址:https://www.jenkins.io/zh/ ,或者这个网址直接下载:http://mirrors.jenkins.io/war-stable/latest/jenkins.war ,下载的包能够是Jenkins.war,也能够是Jenkins.msi。html

若是是Jenkins.war,那么将这个文件放到一个目录下,打开cmd,进入到此文件所在目录,执行:java -jar jenkins.war --httpPort=8080便可;若是是Jenkins.msi,直接双击打开运行安装。java

安装好以后,打开浏览器输入:localhost:8080,会出现下面这个图:python

Jenkins+Python自动化测试持续集成详细教程_Python

稍等一会,会提示须要输入管理员密码,按照提示到对应的路径找到这个文件,用记事本打开,里面会有一个密码,把这个密码粘贴到文本框中点肯定便可。linux

Jenkins+Python自动化测试持续集成详细教程_Python_02

到下图这一步时,选择左边安装推荐的插件,安装插件的过程会比较漫长,若是网络比较差,不少安装失败的话也能够点击continue跳过安装,就会跳到设置用户页面,设置一个用户密码,就进入主页面了。git

Jenkins+Python自动化测试持续集成详细教程_Jenkins_03

离线安装插件

在安装jenkins时若是跳到了插件安装,后面想再安装插件能够在主页面系统管理》插件管理中下载,若是网络很差下载插件很慢或失败时,能够试试到这个插件列表中去下载:http://updates.jenkins-ci.org/download/plugins/ ,下载的是格式的文件,下载后在jenkins系统管理》插件管理》高级》上传插件,上传对应插件的文件,而后重启jenkins便可。shell

Jenkins+Python自动化测试持续集成详细教程_Python_04

离线升级

同理,在须要升级jenkins时,在线升级比较慢的状况下,咱们也能够离线去下载,推荐地址:http://mirrors.jenkins-ci.org/war/ ,下载的是后缀的包。windows

离线升级步骤????:浏览器

  1. 下载war包:见上
  2. 替换war包:找到本地 jenkins 的 war 包的安装路径,可在jenkins系统管理》系统信息中查询到;而后把下载好的war包替换掉原来的war包

Jenkins+Python自动化测试持续集成详细教程_Jenkins_05Jenkins+Python自动化测试持续集成详细教程_Jenkins_06

  1. 重启服务:++打开任务管理器,从新启用 jenkins 服务

Jenkins+Python自动化测试持续集成详细教程_Python_07

Jenkins部署项目

若是在没有pycharm编译器的状况下咱们怎么运行项目呢?能够在windows的命令行下直接运行,但运行时须要先切换到项目路径下,而后在cmd输入python 文件名.py,或者不切换路径,直接输入文件的完整路径,如:python c:\test\main.py。服务器

固然,更方便的仍是在Jenkins上面一键运行。

首先要建立一个工做项目,类型选第一个Freestyle project就行。

Jenkins+Python自动化测试持续集成详细教程_Jenkins_08

每个项目创建后,都须要先执行一遍构建才会有工做区间,不然进入工做区间会显示以下:

Jenkins+Python自动化测试持续集成详细教程_Python_09

构建一遍后再点进工做区间会显示“空目录”,这是由于咱们尚未把测试项目放到Jenkins。先找到Jenkins安装目录下的workplace,而后在对应目录下把咱们的测试项目整个拷过来便可,以下:

Jenkins+Python自动化测试持续集成详细教程_Jenkins_10

若是源码不在本地,使用的是git或svn,那么配置好项目的git/svn,执行构建后会自动把服务器上的代码拉取下来。下面是源码管理及构建的步骤:

源码管理

源码管理(source code management):须要安装插件,如:git/svn,没有插件时显选择无,直接使用本地代码,须要拷贝到工做区间。

Jenkins+Python自动化测试持续集成详细教程_Python_11

这里以git为例,参数说明????:

  • repository url:项目的git地址(svn则填svn地址)
  • credentails:点击添加Jenkins凭据,填写git/svn的帐号及密码》保存;保存后在左侧选择帐号

Jenkins+Python自动化测试持续集成详细教程_Jenkins_12

构建

构建,即如何运行项目。添加构建步骤,windows选择execute windows batch command,linux或mac选择execute shell,而后输入终端的执行命令:python 文件名.py,保存后点击构建(build now)就能够运行项目了,注意这里运行的文件须要存放在工做区间的根目录下(由于这里默认是根目录)。

Jenkins+Python自动化测试持续集成详细教程_Python_13

配置好后,就能够运行项目了,在对应项目里点击build now(当即构建)就能够运行项目了,在左下角可查看构建进度、构建历史,还能够查看控制台的输出。

Jenkins+Python自动化测试持续集成详细教程_Jenkins_14

Jenkins发送邮件

在另外一篇随笔已经介绍了如何使用python发送测试报告:传送门,如今就来介绍一下如何使用jenkins来发送邮件

安装插件

Jenkins须要先安装如下两个插件

Jenkins+Python自动化测试持续集成详细教程_Python_15

配置邮件地址

位置:jenkins管理》系统配置》Jenkins Location。在系统管理员邮件地址,输入对应的邮件地址

Jenkins+Python自动化测试持续集成详细教程_Python_16

配置smtp服务

位置:jenkins管理》系统配置》Extended E-mail Notification,填写对应的smtp服务器相关内容,以下是qq邮箱示例,受权码获取见传送门。

Jenkins+Python自动化测试持续集成详细教程_Jenkins_17

点击高级,输入对应的邮箱地址和smtp登陆的受权码,勾选ssl。

Jenkins+Python自动化测试持续集成详细教程_Jenkins_18

配置邮件触发器

位置:jenkins管理》系统配置》Default Triggers,默认是勾选失败才发,能够配置老是发送(或根据需求勾选),那么每次运行项目时都会发送邮件。

Jenkins+Python自动化测试持续集成详细教程_Jenkins_19

须要特别注意的是,若是项目已经建立了(项目默认是失败发送)才去配系统触发器(配了老是发送),那么项目会读取项目的触发器,若是是先配置了系统触发器再建立的项目,那么项目的触发器是读取系统触发器的。配置项目的触发器见第5点。

配置构建后操做

位置:对应项目》配置》添加构建后操做-Editable Email Notifiction,输入收件人邮件地址(Project Recipient List),多个邮箱能够用英文逗号隔开;输入附件内容(Attachments):reports/report.html,这里输入的是:项目存放测试报告的文件夹名/测试报告文件名。

邮件触发器,点击高级》找到triggers。

Jenkins+Python自动化测试持续集成详细教程_Python_20Jenkins+Python自动化测试持续集成详细教程_Python_21Jenkins+Python自动化测试持续集成详细教程_Jenkins_22

邮件触发器:

Jenkins+Python自动化测试持续集成详细教程_Python_23

html展现配置

配置后项目生成的html报告就能够直接在项目中查看,以下图:

Jenkins+Python自动化测试持续集成详细教程_Python_24

须要安装插件:HTML Publisher

Jenkins+Python自动化测试持续集成详细教程_Python_25

安装后配置项目构建后操做:对应项目》配置》增长构建后操做。

Jenkins+Python自动化测试持续集成详细教程_Python_26

配置好后从新构建项目就会在项目生成HTML  Report目录,可是查看这个报告后你会发现html报告在jenkins上显示没有那么美观,那是由于少了html里面的css和js,由于jenkins是默认会禁掉css和js。

解决办法????:

在jenkins管理》命令行终端(Script Console),输入:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "script-src 'unsafe-inline'"),点击【运行】就行了(记住重启jenkins后,就会恢复默认设置,须要从新配置)。

Jenkins定时任务

顾名思义,就是定时去执行项目。配置位置:对应项目》配置》构建触发器》定时构建(Build Periodically)。

定时规则分为5个部分:分钟、小时、每个月的日子、月份、星期,每一个部分须要用空格隔开,*表明全部,若是是5个*意思就是每分钟执行一次,再举例30 8 * * 1,意思就是每周一上午8点30分执行一次。每次输入定时规则时,下方会有提示说明,以及上一次运行时间、下一次运行的时间。

每一个部分还能够设置其余的值,详情可查看提示了解。

Jenkins+Python自动化测试持续集成详细教程_Python_27

Jenkins构建触发器

实际有可能咱们运行项目不是必定要定时去执行的,可能开发每次一发版咱们就要执行构建一遍来观察开发的新代码是否会有问题,那咱们就能够配置一个构建触发器。

配置位置:对应项目》配置》构建触发器》其余工程构建后触发(Build after other projects are build),输入对应的项目名称,选择“构建稳定时触发”,意思就是个人测试脚本项目在另外一个项目(test项目,这里指开发的项目)部署构建完成后没有出现问题了才触发构建个人测试脚本项目。

也就是说,每一次开发发版成功后就会构建一遍个人测试脚本项目。完美????

Jenkins+Python自动化测试持续集成详细教程_Python_28

Jenkins汉化

设置中文显示的两个插件:

Jenkins+Python自动化测试持续集成详细教程_Python_29

而后在jenkins管理》系统配置》Locale,配置显示中文:

Jenkins+Python自动化测试持续集成详细教程_Jenkins_30

若是配置后出现半英文半中文,能够先设置为zh_EN(英文),而后重启jenkins,再从新设置为zh_CN(中文简体)便可。重启jenkins,能够直接在浏览器输入:http://localhost:8080/restart ,若是不是8080端口就替换成你设置的端口。