zoukankan      html  css  js  c++  java
  • 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模版修改,请参考前期文章。

  • 相关阅读:
    java Object类是可以接收集合类型的
    java.lang.String中[ "张飞"+1+1 ] 和 [ "张飞"+(1+1) ]
    AFL Fuzz入门
    [转载]linux与grep
    linux下安装clamav
    [转载]Linux连续执行多条命令
    [转载]linux下各文件夹的结构说明及用途介绍
    [转载]linux常用命令
    [转载]Ubuntu 16.04 蓝屏解决方案
    pycharm修改python版本
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6040475.html
Copyright © 2011-2022 走看看