Jenkins + Jmeter 搭建简易CI (自动执行接口测试+发布web报告+发送邮件)
Jenkins + Jmeter 搭建简易CI (自动执行接口测试+发布web报告+发送邮件)
Jenkins可以很方便的实现构建项目之后自动执行其他任务。可以把Jmeter脚本作为任务放在项目之后自动启动,然后通过IIS发布html报告,并且发出邮件至相关人员。
目录
- Jenkins Jmeter 搭建简易CI 自动执行接口测试发布web报告发送邮件
- 目录
- 一 Jenkins新建任务
- 二 IIS部署网站
- 三 Jenkins设置邮件通知
- 四 Jenkins设置发件人邮箱
- 五 调试
- jmeter脚本设计思路
- 尾声
一、 Jenkins新建任务
- 在Jenkins上新建一个接口测试的任务
1. 打开Jenkins,点击新建。(此处1.0_Demo就是我的测试对象项目)
2. 输入接口测试的任务名,选择自由风格,点击OK
3. 在构建触发器,勾选”Build after other projects are built”,输入你的前置任务
4. 在构建区,添加”Execute Windows batch command”
填入启动jmeter的批处理语句,注意将配置信息修改为你的内容。
:: 配置信息
set FILE_PATH=C:\APITest\Demo
set JMX_NAME=Demo:: 等待时间
ping 127.0.0.1 -n 60 >nul:: 清除上次测试报告
IF EXIST "%FILE_PATH%\report" rd /s /q %FILE_PATH%\report:: 生成当前日期
set dateTmp=%date:~0,4%%date:~5,2%%date:~8,2%
if "%time:~0,2%" lss "10" (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
set timeTmp=%hour%%time:~3,2%%time:~6,2%
set d=%dateTmp%%timeTmp%
echo current date: %d%:: 执行测试
call jmeter.bat -n -t %FILE_PATH%\api\%JMX_NAME%.jmx -l %FILE_PATH%\%JMX_NAME%.jtl -e -o %FILE_PATH%\report:: 归档
mkdir "%FILE_PATH%\history\%d%"
move %FILE_PATH%\%JMX_NAME%.jtl %FILE_PATH%\report >nul
xcopy /s /i /y %FILE_PATH%\report %FILE_PATH%\history\%d% >nul
5. 将你编写的jmeter脚本,即jmx文件和数据文件,放到上一步配置信息中的路径的\api路径下。(\api文件夹是需要你自己手动创建的)
* 这里演示的不够细致,其实应该是有txt或csv文件的,用于驱动测试
6. 这个时候在Jenkins上构建应该就通了,如果在%FILE_PATH%\report下有报告就说明成功了。
二、 IIS部署网站
- 在Jenkins所在的电脑上部署一个IIS网站
1. 打开IIS管理器(如果没有请百度一下,系统默认未开启)
2. 展开根节点,对”网站”右键,选择”添加网站”
网站名为之前cmd中的%JMX_NAME%,物理路径为之前cmd中的%FILE_PATH%\report。端口号随意,不重复即可。
3. 点击浏览,如果能看到之前构建出来的jmeter测试报告,就说明配置成功了。
4. 你应该能看到这个网页
5. cmd上ipconfig查看一下你的内网ip地址
6. 回到Jenkins,在构建区再添加一个cmd模块。
输入以下代码,实现每次测试报告更新后,自动重启IIS应用池。
:: 重启Web应用池
c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:Demo
c:\windows\system32\inetsrv\AppCmd.exe start apppool /apppool.name:Demo
三、 Jenkins设置邮件通知
- 在Jenkins上创建的接口测试任务中,配置邮件通知插件
1. 在构建后操作区,添加”Editable Email Notification”
“Project Recipient List”文本框默认是”$DEFAULT_RECIPIENTS”
意思是发送给在Jenkins上进行本次构建的用户,这里换行添加自己的邮箱来区分一下
2. 添加邮件主题和邮件内容,这个模块网上很多,可以自己找一下。
注意把报告地址改为你的内网ip+端口号
【接口测试报告】$PROJECT_NAME - $BUILD_STATUS - Build # $BUILD_NUMBER!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_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><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>报告 Url : <a href="http://192.168.1.82:8001/">http://192.168.1.82:8001/</a></li> </ul> </td> </tr> </table>
</body>
</html>
3. 接着需要设置触发条件,点击”Advanced Settings…”按钮
4. 在Triggers文本区域,添加为你预期的触发条件。例:失败才发送
本人这里设定的是Always,任何情况下都发送。
四、 Jenkins设置发件人邮箱
- 如果Jenkins上已经有人设定过管理员邮箱和发件人邮箱,可以跳过此步骤
1. 在Jenkins进入系统管理
2. 点击系统设置
3. 在Jenkins Location区域,设定”系统管理员邮件地址”
4. 在Extended E-mail Notification区域,设定发件人邮箱帐号
· SMTP server: 本人公司邮箱是qq企业邮箱,SMTP服务是”smtp.exmail.qq.com”
· Default user E-mail suffix: 邮箱后缀”@xxxx.com”
· Default Recipients: 默认收件人(这个只需要填名字,会自动拼接邮箱后缀)之后任务构建后的通知邮件会默认发送给此人。
5. 在高级选项中,勾选”Use SMTP Authentication”,填入发件人邮箱的帐号密码。之后任务构建后的通知邮件就是通过此帐号发出的。
五、 调试
- 到了此步应该已经算搭建完成了。调试一下,如果有问题再看一下之前的步骤。
1. 开发提测后,执行项目构建。
此任务应该会自动从GIT(或SVN)拉取代码、自动打包、自动发布等等。
构建完成后,我们创建的接口测试任务会被自动加入执行队列。
2. 查看终端打印日志”Console Output”
可以看到jmeter脚本成功执行,然后重启web网站,最终发送了邮件
3. 我设定的管理员邮箱收到了邮件。
你可以将管理员设定为自己,同时在任务配置list当中,设定你的同事。
就是我设定tomoya_chen@163.com邮箱地址的地方。
4. 收到邮件的人,点击链接即可看到本次测试报告了
jmeter脚本设计思路
- Jmeter脚本设计思路,在持续集成环境不需要进行完整的接口测试。
1. 可以直接拿完整的接口测试脚本来使用,在设计Jmeter脚本时使用CSV数据驱动,直接沿用此版本,同时将循环数设定为1,即只跑CSV文件中第一行。
2. 查询接口和对系统造成影响的接口应分开,用if来控制是否执行这些接口
尾声
- 学习、记录、总结。
在开发提测后,每次在测试环境构建,都能快速执行一次接口的主流程测试。如果没有问题,测试人员再进行测试。这在回归测试阶段,可以避免开发在修复bug过程中,影响了其他已测的模块。毕竟每次开发提测,不可能都进行一次完整的系统测试,这样费时费力的事情,还是交给机器吧。
感谢阅读。
Jenkins + Jmeter 搭建简易CI (自动执行接口测试+发布web报告+发送邮件)相关推荐
- Jenkins+Jmeter+Ant接口用例执行情况监控
前言 Jenkins+Jmeter+Ant接口测试框架中,Jmeter脚本中有报错的用例,但是Jenkins的执行结果仍然是successful,无法触发"执行失败时发送邮件".原 ...
- imacros自动跑代码_如何使用iMacros自动执行重复的Web浏览器任务
imacros自动跑代码 Computers are supposed to automate repetitive tasks – if you find yourself submitting f ...
- 自动生成html_服务搭建篇二·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化
今天分享服务搭建第二篇:Jenkins+Jmeter+Ant自动化集成(服务) 一.Ant 服务配置 1.配置报告模板和 ant build 确定脚本的目录,当前放在Jmeter 目录下 #cd /u ...
- Windows下搭建ant+jenkins+jmeter自动化接口测试框架
Windows下搭建ant+jenkins+jmeter自动化接口测试框架 引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效 ...
- Windows下搭建ant+jenkins+jmeter自动化接口测试框架(详细篇)
引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效果: (1)有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息, ...
- 【二十二】win 10 :Jmeter 报告可视化 —— 配置 Jmeter 接口 HTML 可视化测试报告,Jenkins + Jmeter + Ant 自动化集成环境搭建
目录 一.环境搭建 二.文件下载 三.文件配置 四.本地调试 五.创建.bat文件 六.Jenkins配置邮件 七.配置测试项目 八.自动部署成功校检 九.jmeter仪表盘HTML报告自动化构建 一 ...
- jenkins 手动执行_想知道如何用Jenkins自动执行Python脚本输出测试报告?
前言在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作.借助Jenkins,我们可以结合 Git/SVN 自动拉取代码 ...
- Jenkins+Svn搭建持续集成环境和自动部署
Jenkins+Svn搭建持续集成环境和自动部署 一.环境说明 centos 6.8 ip:192.168.1.26 二.运行环境配置 1.安装java环境,下载jdk并放在/usr/loca ...
- 手把手教你搭建Jenkins+Jmeter+Ant自动化集成环境
一.安装前准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jen ...
最新文章
- 直播平台搭建中你需要注意的小细节
- java基础-类加载学习笔记
- ITK:在没有写访问权的情况下遍历整个图像
- cad图纸问号怎么转换文字_CAD打开图纸后字体显示为问号,这样解决治标治本(送)...
- matlab中图像处理的基本函数(2)
- 关于she'll脚本中echo -e使用sh命令执会显示参数-e-的问题
- crc16几种标准校验算法及c语言代码
- 英伟达斥资 400 亿美元收购 Arm,欲向 Arm 员工发 15 亿美元股票
- 计算机无法创建新文件夹,无法创建文件,小编教你无法新建文件夹怎么办
- 拼团小程序源码_深圳微信小程序,拼团小程序有哪些拼团模式?
- 计算机组成原理的各种常见英文缩写介绍--<<方便复习的笔记>>
- 颜色拾取器和红蜻蜓截图
- 修改人人商城支付后报错“服务器暂时无法处理您的请求,请稍后重试“
- springboot框架下利用websocket实现即时通讯
- IOS内购验证 (Java版)
- 微信订阅号发送模板消息
- 闲谈swi与ucos-续篇
- 盘点:35 个 Java 代码优化魔鬼细节
- 2021数学建模C题
- c语言题库832,2017年北方民族大学计算机软件与理论832C语言程序设计与数据结构之C程序设计考研题库...