使用jmeter+ant+jenkins实现接口自动化测试
摘自:https://blog.51cto.com/6183574/2318519
本次使用linux环境搭建自动化框架
- 一、配置ANT
- 首先下载Ant压缩包,下载地址:http://ant.apache.org/bindownload.cgi
- 解压下载的ant包,然后复制jmeter/extras下的ant-jmeter-1.1.1.jar文件放到ant的lib目录
- 然后对该文件进行压缩,然后使用rz命令上传zip压缩包
- 上传成功之后,使用unzip apache-ant-1.10.5.zip 命令解压到当前文件夹,使用pwd查看当前文件路径,需要在jenkins配置用到
- 然后进入到bin路径,赋予ant执行权限,Chmod 777 ant
- 使用管理员登录jenkins系统,进入系统管理》插件管理,搜索ANT插件,安装ant
- 安装完成之后,进入系统管理》全局工具配置,配置ANT变量路径
- 首先下载Ant压缩包,下载地址:http://ant.apache.org/bindownload.cgi
- 二、使用Jmeter生成测试脚本,配置jmeter
- Jmeter下载路径:http://jmeter.apache.org/download_jmeter.cgi
- 启动jmeter(双击 jmeter解压目录下的bin\jmeter.bat)
- 创建接口请求,脚本保存为Test Plan.jmx
- 默认下载的jmeter4.0可能extras\目录下没有 jmeter.results.shanhe.me.xsl,需要手动拷贝进去
该模板为详细报告模版
该模版为汇总报告模版 - 可以手动修改报告名称,如下
- 还需要修改bin目录\jmeter.properties配置文件,才能在详细报告中展现请求值和响应结果,修改如下,把false改成true:
- 三、配置本地仓库,用来管理jemter和脚本
- 首先在GitLab新建一个项目,然后克隆到本地,如下
- 把jmeter全部放到该文件夹下,
- 其中build.xml文件如下
- Test Plan.jmx为你的jmeter脚本
- 配置完成之后,进行提交代码
- 首先在GitLab新建一个项目,然后克隆到本地,如下
- 四、配置jenkins
- 使用管理员登录系统,新建一个自由风格的项目即可
- 源码管理配置:本地代码使用git进行管理,所以需要填写git地址和用户
- 构建配置:
- 构建后操作配置:配置完成,点击应用然后点击保存按钮,配置成功
- 点击立即构建,控制台输出如下
- 汇总报告
- 详细报告
- 使用管理员登录系统,新建一个自由风格的项目即可
- 五、邮件发送配置
- 配置系统管理员邮件地址
- 使用管理员登录jenkins,进入系统管理》系统设置》Jenkins Location
- 使用管理员登录jenkins,进入系统管理》系统设置》Jenkins Location
- 配置SMTP邮件服务器
- 继续在系统设置进行配置
- 继续在系统设置进行配置
- 配置jenkins任务
- 在构建后操作》添加Editable Email Notification
- 详细配置如下:
- 此处对Triggers进行了细化配置,读取自己专门配置的报告格式,不读取系统配置
- Content源码如下:
- 在构建后操作》添加Editable Email Notification
- 实际发送邮件效果如下
- 末尾增加一则智能判断是否发送邮件校验规则,日常工作一般是有失败案例才有必要查看邮件,全部通过就不用查看邮件了,这里使用shell脚本实现:
新增Execute shell步骤,代码如下:#!/bin/sh
cd ${WORKSPACE}/automation_ant/html
grep 'Failure Detail' 接口自动化汇总报告_${BUILD_NUMBER}.html
if [ $? == 1 ]
then
echo '测试通过'
else
echo $?
echo '测试失败'
exit 1
fi
- 配置系统管理员邮件地址
- shell脚本执行的路径和报告名称请根据实际情况修改*
语句 | 作用 |
---|---|
cd ${WORKSPACE}/automation_ant/html | 进入报告所在的路径 |
grep 'Failure Detail' 接口自动化汇总报告_${BUILD_NUMBER}.html | 该命令是查找报告中有无'Failure Detail'字段,有则证明案例有失败,返回0,无则返回1; |
- 还需要把邮件发送触发条件Triggers改成Failure-Any,然后添加收件人列表,如下图
使用jmeter+ant+jenkins实现接口自动化测试的更多相关文章
- 七、Jmeter + ant + jenkins轻量级接口自动化测试
七.Jmeter + ant + jenkins轻量级接口自动化测试 杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由:关键是看会不会用,怎么用,有没有用在合适的地方. 需要安装的工具: ...
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因
Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#
- jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...
- jmeter+ant+jenkins 搭建接口自动化测试
一.jmeter 我用的jmeter3.2 jmeter要运行,必须本地有java环境,所以需要配置jdk什么的,自行配置 二.ant 安装ant 第一步:下载ant http://ant.a ...
- Jmeter+ant+Jenkins构建接口自动化测试
1.已写好jmeter脚本 2.安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter 3.修改jmeter的jmeter.properties文件(将 ...
- jmeter+ant+jenkins搭建接口自动化测试环境(基于win)
1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的 ...
- jmeter+ant+jenkins 搭建接口自动化测试环境
过程参考:http://www.cnblogs.com/lxs1314/p/7487066.html 1. 安装ant 2. 安装jenkins 遇到问题: 启动Tomcat后,访问http://lo ...
- 关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区
说明:Apach-Jmeter有完善的桌面客户端,关联数据的处方方式,各种参数化的方式,各种Jar包的扩展,也可以用作抓包工具使用,当然最重要的是它是[开源!开源!开源!],重要的事说三遍,目前也有基 ...
随机推荐
- [转帖]ORA-00600-[kcratr_nab_less_than_odr]问题小记
ORA-00600-[kcratr_nab_less_than_odr]问题小记 2018年03月12日 20:56:57 我不是VIP 阅读数 1500 https://blog.csdn.ne ...
- POJ - 2112 Optimal Milking (dijkstra + 二分 + 最大流Dinic)
(点击此处查看原题) 题目分析 题意:在一个农场中有k台挤奶器和c只奶牛,每个挤奶器最多只能为m只奶牛挤奶,每个挤奶器和奶牛都视为一个点,将编号1~k记为挤奶器的位置,编号k+1~k+c记为奶牛的位置 ...
- PHP使用CURL抓取页面
cURL的基本原理 curl是利用URL语法在命令行方式下工作的开源文件传输工具,他能够从互联网上获得各种各样的网络资源.简单来说,curl就是抓取页面的升级版. <?php //1.初始化,创 ...
- 百度地图 echarts tooltip属性 经纬度坐标不显示
中国地图.散点图结合点击后显示当前城市数量 不显示经纬度坐标 echarts.appMap = function (id, opt) { // 实例 var chart = this.init(doc ...
- java虚拟机精讲
2.程序计数器 是指当前线程所执行字节码的行号指示器 比如if 循环 抛异常 等都需要程序计数器 如果线程执行java方法 程序计数器记录的是虚拟机字节码指令的地址 如果线程执行native方法时程序 ...
- MySQL太慢?试试这些诊断思路和工具
MySQL 慢怎么办 如果遇到 MySQL 慢的话,你的第一印象是什么,MySQL 数据库如果性能不行,你是如何处理的? 我咨询了一些同行, 得到了以下反馈: 第一反应是再试一次 第二个反应是优化一下 ...
- Linux经典操作
1.Linux批量终止在运行中包含某个字符串的所有进程. ps -ef|grep celery | grep -v grep|cut -c 9-15|xargs kill -9
- docker之常用命令
1) docker run -p : --name mysql -v d:/docker/mysql/conf:/etc/mysql/conf.d -v d:/docker/mysql/logs:/l ...
- axios设置了responseType: 'json‘’,ie问题
在ie会有问题 如果返回的数据会变成字符串 在拦截器中用json.parse转 // 在axios的响应头中设置~~~ axios.interceptors.response.use( respons ...
- 多线程之实现Runnable接口及其优点
多线程之实现Runnable接口: 1.创建一个Runnable接口的实现类 2.在实现类中重写Runnable接口的run方法 3.创建一个Runnable接口实现类的对象 4.创建Thread类对 ...