【接口测试】Jenkins+ant+jmeter接口自动化测试及邮件发送

引言

        在前一篇博文里,我介绍了关于Jmeter+ant的接口测试,详见链接Jmeter+ant。本文将在上一个文章基础上,讲解Jenkins的安装及使用(全程Windows环境下)。
        Jenkins是基于Java开发的一种持续集成工具,用于监控持续、重复的工作,可用于定时执行jmeter接口测试脚本。当一个系统相对稳定时,就需要对系统进行接口自动化测试,替代人的重复性工作,每天监测系统是否在主功能上出现纰漏。如果出现bug,再去定位,有效减少人力投入。

1.Jenkins安装

1.1 设置jenkins工作空间

⚠️⚠️⚠️ 我觉着提前设定好jenkins的工作空间很必要!!!
        在安装jenkins之前,需有一个初始操作【为了防止自动占用C盘,也为了后续找workspace工作空间更方便一些】,可以先在其他磁盘下创建一个文件夹(目录),将其作为Jenkins的工作空间,这需要在环境变量中制指定该地址。方式如下:

  • 在其他磁盘下创建文件夹,例如D:/jenkins 。
  • 我的电脑-右击“属性”-高级系统设置-环境变量-新建系统变量
  • 新建一个环境变量名为JENKINS_HOME,值为指定目录的路径,确定。
    在这里插入图片描述
            未指定工作空间,则会默认在在C盘的user文件夹下自动创建了一个工作空间。出现结果如下所示:
    在这里插入图片描述
           如果已经事先指定了工作空间的话,则会显示如下:
    在这里插入图片描述
           🐷原因: 最初安装jenkins时,我并不是一开始就设置了工作空间的。后期为了迁位置,配了工作空间,导致我重新部署了一遍jenkins,所有步骤又走了一遍。所以,如果不想麻烦,而且不想把东西放c盘的话,就在安装jenkins之前配置好地址噢。我不喜欢把东西全放在C盘,而且后期为了放置测试报告的问题,我就迁了下位置。不介意的童鞋可以忽略我说的这个步骤。
            后续再进行war包的下载和安装即可~

1.2 jenkins的war包下载

        下载地址:Jenkins的war包下载地址
在这里插入图片描述

1.3 jenkins安装

       以下2种安装方式,任选一个即可~

1.3.1 Tomca方式安装

        Jenkins是基于java的,和jmeter一样,需要先安装jdk。Jenkins有多种安装方式,此处讲解Tomcat安装的方式,因为电脑中已经安装过Tomcat了,所以也就不讲述Tomcat的安装过程了。

1.3.1.1 将war包放入Tomcat下的webapps目录

在这里插入图片描述

1.3.1.2 运行Tomcat

        进入Tomcat下的bin目录,找到startup.bat,双击运行。此时会弹出类似cmd界面的弹框,在tomcat启动的同时会自动解析war包,等待解析war包完成。
在这里插入图片描述

        运行tomcat后自动会在webapp下生成jenkins文件夹,进入查看如下所示。
在这里插入图片描述

1.3.1.3 查看jenkins是否正常运行

       当服务已经启动好,war包也解析好之后,在浏览器输入网址http://localhost:8080,正常出现画面则表示tomcat已经正常启动起来了。
在这里插入图片描述
       此时,输入http://localhost:8080/jenkins,会弹出jenkins首次配置界面,出现jenkins页面则正确。

1.3.2 jenkins的war包安装

⚠️ 需要有java环境,即安装了jdk

  • 打开cmd
  • 进入jenkins.war所在目录
  • 输入命令:java -jar jenkins.war

「可以自己写一个命令,保存为bat文件,这样每次都直接点击该文件执行即可」
在这里插入图片描述
       打开浏览器输入http://localhost:8080,进入解锁jenkins界面即可

2 jenkins配置

2.1 管理员密码

       在该页面,进入图片提示的目录中找到管理员密码所在目录,并使用记事本打开将字符串粘贴进框中并继续。
在这里插入图片描述

在这里插入图片描述

2.2 插件安装

       进入新手入门界面,插件安装,点击推荐安装,而且不论是否安装成功,都不要点击重试,直接选择继续。
在这里插入图片描述
在这里插入图片描述

2.3 基本配置

       创建第一个管理员用户,输入自己想要设置的用户名密码。
在这里插入图片描述
       实例配置,即访问链接,保存并继续
在这里插入图片描述
在这里插入图片描述

3 Jenkins使用

3.1 ant配置

       进入Jenkins后,选择全局工具配置,在ant处添加已安装的ant点击应用并保存。
在这里插入图片描述
在这里插入图片描述

3.2 Jenkins相关构建运行(仅对应接口测试)

3.2.1 新建job并配置

       在主页面新建一个Item,输入名称选择自由风格的项目并确定。在这里插入图片描述
       进入构建,将之前添加的ant引入进去,并表明配置文件build.xml的位置。
在这里插入图片描述
       选择确定,则生成一个新的job了。

3.2.2 运行job

       进入该job,并点击build now,则运行该job,执行ant的build.xml文件,并自动将生成的测试报告放入特定位置。(ant的build.xml文件中指定了要执行的xml文件,也指定了测试报告存放的位置)
在这里插入图片描述
       点击构建历史下,刚刚构建的build id(每一次构建都会自动叠加build id)。因为我是第一次构建,所以点击#1则可看到相应信息,选择控制台输出,便可以看到执行信息。(下面这图片是我没有更换项目空间时候截的)
在这里插入图片描述
       至此,一个简单的Job已经完成了。

4 通过jenkins自动发送测试报告至对应邮箱

4.1 使用jenkins自带的邮箱通知

       首先,进入jenkins系统配置页面,找到Jenkins Location,填写管理员邮箱,这是作为发件人的邮箱。
在这里插入图片描述
       系统配置页面拉到最下面,出现邮件通知,如果发件人填写的是163邮箱,则邮件通知中按照我下面图片设置就行。
在这里插入图片描述
       接着,点开邮件通知右下角的高级,继续填写相关信息。此时要注意是的是,密码是客户端授权码,而不是163邮箱的登录密码。可以勾选“通过发送测试邮件测试配置”,输入收件邮箱即可测试。
在这里插入图片描述
       可以去163邮箱的设置中,打开SMTP服务,并得到授权码。
在这里插入图片描述
       选择之前的job,进入配置页面,在构建后操作中,选择增加构建后操作步骤,E-mail Notification。
在这里插入图片描述
       进行相关设置,输入收件人。
在这里插入图片描述
       点击应用并保存,执行job进行测试。只有当构建失败时,才会发送通知。

4.2 邮件增强版

⭐️    使用插件Extended E-mail Notification进行邮件设置
        由上面可以知道,jenkins自带的邮件设置只能在构建失败时发送邮件,当我们想要在任何时候,只要构建都发送邮件的话,则可以使用jenkins中的插件    Extended E-mail Notification(此时需要在jenkins中查看是否安装了该插件)。进入系统配置页面,邮箱填写自己的发件人和收件人,其他按照我的设置就行(必须是163邮箱作为发件人才能按照我的设置)

在这里插入图片描述
在这里插入图片描述
        勾选“ Enable Debug Mode”,当邮件发送不成功时,可以进入“控制台输出”查看对应邮件发送上的日志,定位出错点,找到出错原因。
在这里插入图片描述
        再次进入job的配置下,添加构建后操作,此时选择添加“Editable Email Notification”,进行相关配置。
在这里插入图片描述
        下面给出我使用的邮件模板,可酌量删减。该模板可在系统配置中直接定义好,就不需要在每个job中再次配置,可直接引用配置中的默认邮件内容。
在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${PROJECT_NAME}-第${BUILD_NUMBER}次构建日志</title>
</head>

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本邮件是程序自动下发的,请勿回复!)</td>
</tr>
<tr>
<td><h2>
<font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
</h2></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">Changes Since Last
Successful Build:</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
</ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat=" %p"}
</td>
</tr>
<tr>
<td><b>Test Informations</b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<br /></td>
</tr>
<tr>
<td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><textarea cols="80" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
</table>
</body>
</html>

        这是邮件里显示的模样。
在这里插入图片描述

4.3 关于邮件的附件

        我当时迁移工作空间,就是为了解决附件的问题,因为这边附件放置点是用的工作空间所在的目录
在这里插入图片描述
        下图为生成的测试报告所在路径。
在这里插入图片描述
        我为了能添加附件,重新用了build1.xml,在里面将测试报告放置点设置成当前job的工作空间,也设置了所执行的jmx脚本为test11.jmx。
在这里插入图片描述
        记住,更改xml之后,在Invoke Ant处要设置需要的xml文件。
在这里插入图片描述

4.4 关于定时的问题

       要想job每天定时执行,则可以在构建处,设定一个时间。我设置的是每天的10点50。
在这里插入图片描述
       但需要注意的是,只有在服务启动的时候,定时程序才会启动。因为我是部署在tomcat上面,也就是tomcat运行了之后,我的jenkins才会去自动执行该job。

5 待添加部分

       当发件人为qq邮箱,或者其他邮箱时,服务器处如何填写,我需要总结一下。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值