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)构建脚本

 
  1. ##!/bin/bash

  2. REPORT_TIME=`date '+%Y%m%d%H%M%S'`

  3. jmeter_basedir=/home/apache-jmeter-3.0

  4. report_icon=$jmeter_basedir/extras/collapse.png

  5. basedir=/var/lib/jenkins/workspace/jmeter_Param

  6. report_jtl=$basedir/report/jtl

  7. report_html=$basedir/report/html

  8. echo "starting..."

  9. #脚本参与引入通过构建参数引入

  10. echo $threadCount

  11. echo $rampUp

  12. echo $durationTime

  13. echo $sleepTime1

  14. echo $sleepTime2

  15. #删除多余的jtl

  16. cd $report_jtl

  17. rm -f *.jtl

  18. cd $basedir

  19. for v1 in $(ls *.jmx)

  20. do

  21. # REPORT_TIME=`date '+%Y%m%d%H%M%S'`

  22. # TestReport=`ls $v1|sed 's/.jmx//g'`

  23. # echo $TestReport

  24. cd $jmeter_basedir/bin

  25. sh jmeter.sh -JthreadCount=$threadCount -JRampUp=$rampUp -JDurationTime=$durationTime -n -t $basedir/$v1 -l $report_jtl/TestReport_$REPORT_TIME.jtl &

  26. # >~/logs.log &

  27. # xsltproc $jmeter_basedir/extras/jmeter-results-detail-report_21.xsl $report_jtl/TestReport_$REPORT_TIME.jtl > $report_html/TestReport_$REPORT_TIME.html

  28. # sed -i "s/date not defined/$REPORT_TIME/g" grep “date not defined" -l $report_html/TestReport_$REPORT_TIME.html

  29. # if [! -f "$report_icon"];then

  30. # cp $jmeter_basedir/extras/collapse.png $jmeter_basedir/extras/expand.png $report_html

  31. # fi

  32. # if [! -d "$report_jtl"];then

  33. # cd $WORKSPACE/report && mkdir jtl

  34. # fi

  35. sleep $sleepTime1

  36. #for id in $(ps -ef|grep jmeter|grep -v grep|awk '{print $2}')

  37. #do

  38. #echo $id

  39. #kill -9 $id

  40. #done

  41. #sleep 5

  42. done &

  43. sleep $sleepTime2

  44. xsltproc $jmeter_basedir/extras/jmeter-results-detail-report_21.xsl $report_jtl/TestReport_$REPORT_TIME.jtl > $report_html/TestReport_$REPORT_TIME.html &

  45. sleep 20

  46. cp $report_jtl/TestReport_$REPORT_TIME.jtl $basedir/report/jtl2

  47. cp $report_html/TestReport_$REPORT_TIME.html $basedir/report/html2

  48. #for id1 in $(ps -ef|grep JMeter|awk '{print $2}')

  49. #do

  50. #echo $id1

  51. #kill -9 $id1

  52. #done

  53. echo "ending..."

3)构建后操作

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

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

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值