Jmeter+jenkins接口性能测试平台实践整理

最近两周在研究jmeter+Jenkin的性能测试平台测试dubbo接口,分别尝试使用maven,ant和Shell进行构建,jmeter相关设置略。

一、Jmeter+jenkins+Shell+tomcat

安装Jenkins,JDK,tomcat,并设置环境变量,安装在Jenkins中performance-plugin插件。

1.准备测试脚本和测试数据,拷贝至Jenkins的workspace的对应的项目工作目录下:

2.Jenkins设置

1)添加构建参数

2)构建脚本

复制代码
##!/bin/bash
REPORT_TIME=`date '+%Y%m%d%H%M%S'`
jmeter_basedir=/home/apache-jmeter-3.0
report_icon=$jmeter_basedir/extras/collapse.png
basedir=/var/lib/jenkins/workspace/jmeter_Param
report_jtl=$basedir/report/jtl
report_html=$basedir/report/html
 
echo "starting..."
#脚本参与引入通过构建参数引入
echo $threadCount
echo $rampUp
echo $durationTime
echo $sleepTime1
echo $sleepTime2
#删除多余的jtl
cd $report_jtl
rm -f *.jtl
 
cd $basedir
for v1 in $(ls *.jmx)
do
# REPORT_TIME=`date '+%Y%m%d%H%M%S'`
# TestReport=`ls $v1|sed 's/.jmx//g'`
# echo $TestReport
cd $jmeter_basedir/bin
sh jmeter.sh -JthreadCount=$threadCount -JRampUp=$rampUp -JDurationTime=$durationTime -n -t $basedir/$v1 -l $report_jtl/TestReport_$REPORT_TIME.jtl &
# >~/logs.log &
# xsltproc $jmeter_basedir/extras/jmeter-results-detail-report_21.xsl $report_jtl/TestReport_$REPORT_TIME.jtl > $report_html/TestReport_$REPORT_TIME.html
# sed -i "s/date not defined/$REPORT_TIME/g" grep "date not defined" -l $report_html/TestReport_$REPORT_TIME.html
# if [! -f "$report_icon"];then
# cp $jmeter_basedir/extras/collapse.png $jmeter_basedir/extras/expand.png $report_html
# fi
# if [! -d "$report_jtl"];then
# cd $WORKSPACE/report && mkdir jtl
# fi
sleep $sleepTime1
#for id in $(ps -ef|grep jmeter|grep -v grep|awk '{print $2}')
#do
#echo $id
#kill -9 $id
#done
#sleep 5
done &
sleep $sleepTime2
xsltproc $jmeter_basedir/extras/jmeter-results-detail-report_21.xsl $report_jtl/TestReport_$REPORT_TIME.jtl > $report_html/TestReport_$REPORT_TIME.html &
sleep 20
cp $report_jtl/TestReport_$REPORT_TIME.jtl $basedir/report/jtl2
cp $report_html/TestReport_$REPORT_TIME.html $basedir/report/html2
#for id1 in $(ps -ef|grep JMeter|awk '{print $2}')
#do
#echo $id1
#kill -9 $id1
#done
echo "ending..."

3)构建后操作

4)保存并构建成功后,在workspace中查看jtl和html结果。

关于dubbo接口性能脚本编写,jar包导出,html模版修改,请参考前期文章。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

相关推荐
喜欢你,还有大家2 小时前
Docker-仓库-镜像制作
运维·docker·容器
安审若无3 小时前
图数据库neoj4安装部署使用
linux·运维·数据库
做运维的阿瑞4 小时前
CentOS DNS故障排查完整解决方案:从症状到根因的系统化诊断
linux·运维·centos
深圳市恒讯科技5 小时前
英国服务器Windows系统远程桌面安装与优化
运维·服务器·windows
itachi-uchiha5 小时前
head和tail命令使用
linux·运维·服务器
violet-lz5 小时前
Socket编程实战:从基础API到多线程服务器
运维·服务器
初学者_xuan5 小时前
零基础新手小白快速了解掌握服务集群与自动化运维(十六)集群部署模块——LVS-DR&TUN模式配置
运维·自动化·lvs
测试老哥5 小时前
Jmeter+Maven+jenkins+eclipse 搭建自动化测试平台
自动化测试·软件测试·测试工具·jmeter·jenkins·maven·性能测试
toooooop85 小时前
Nginx 反向代理 HTTPS CDN 配置检查清单(避坑版)
运维·nginx·https·cdn
群联云防护小杜5 小时前
国产化环境下 Web 应用如何满足等保 2.0?从 Nginx 配置到 AI 防护实战
运维·前端·nginx