三月阳光 发表于 2018-1-7 14:43:34

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

  最近两周在研究jmeter+Jenkin的性能测试平台测试dubbo接口,分别尝试使用maven,ant和Shell进行构建,jmeter相关设置略。
  一、Jmeter+jenkins+Shell+tomcat
  安装Jenkins,JDK,tomcat,并设置环境变量,安装在Jenkins中performance-plugin插件。
  1.准备测试脚本和测试数据,拷贝至Jenkins的workspace的对应的项目工作目录下:
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107195816436-49456945.png
  2.Jenkins设置
  1)添加构建参数
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107200131795-302272225.png
  2)构建脚本
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107200328420-944830238.png
  ##!/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>  #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>  #do
  #echo $id1
  #kill -9 $id1
  #done
  echo "ending..."
  3)构建后操作
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107200506467-2001754390.png
  4)保存并构建成功后,在workspace中查看jtl和html结果。
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107201329014-1758588821.png
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107201456717-1397742469.png
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107201650592-2118650245.png
https://images2015.cnblogs.com/blog/733625/201611/733625-20161107201739874-1386581924.png
  关于dubbo接口性能脚本编写,jar包导出,html模版修改,请参考前期文章。
页: [1]
查看完整版本: Jmeter+jenkins接口性能测试平台实践整理(一)