Gatling+Jenkins流水线实现性能测试自动化

背景:Gatling作为一款新兴的性能测试工具,具有高性能高稳定性,方便的代码维护管理等特点。

环境:gatling-charts-highcharts-bundle-3.31 + jenkins

步骤:

一、安装

1.安装Gatling

官网(https://gatling.io/open-source/start-testing/)下载免费安装版,解压即可。前提是,操作系统已安装Java8及以上版本。

2.使用

这里不是本文重点,所以可以参考其他好文。例如,https://blog.csdn.net/qq_37023538/article/details/54290035

3.jenkins上Gatling插件安装

这个可以找度娘问问

4.流水线配置

1)在Jenkins上创建“流水线”

2)配置脚本如下:

param1="0"        // Gatling场景测试输入的参数1
param2="0"        // Gatling场景测试输入的参数2
taskname="Gatling-Workflow"    // 流水线名称

node{
stage('test'){
    try{
        sshagent(["testpri"]){
        sh """
            cd /tools/gatling/bin;
            sh exec_gatling.sh $param1 $param2    // exec_gatling.sh中调用gatling.sh运行Gatling
        """
    }
}catch(exc){
    echo "failed"
}finally{
    stage('collect'){
        sshagent(["testpri"]){
        def project_path=sh returnStdout: true, script: ". /tools/sendgatlingreport.sh ${taskname}"        // sendgatlingreport.sh将Gatling报告copy到jenkins指定目录,这样才能展示Gatling报告
        project_path=project_path.trim()
        publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: true, reportDir: "result/${project_path}", reportFiles: 'index.html', reportName: 'HTML Report', reportTitles: ''])
        }
      }
     }
    }
}

3)exec_gatling.sh。注意:该脚本放在gatling.sh同级目录下,否则无法调用gatling.sh。

#!/bin/bash

set -x
param1=$1
param2=$2
echo "$param1">tmp.s
echo "$param2">tmp.s
if true; then
./gatling.sh
fi < ./tmp.s

4)sendgatlingreport.sh

 

#!/bin/bash

taskname=$1
path=/tools/gatling/results/
cd $path
cp -r $path /root/.jenkins/workspace/$taskname/        # jenkins的job目录
dir=`ls -l | awk '/^d/ {print $Nf}'`                   # 找到job目录下的文件夹。这里默认只一个
echo $dir

问题:

这里流水线配置时,gatling和jenkins放在同一执行机环境中,因此在copy gatling的执行结果报告时,没有scp的这些操作。如果gatling与jenkins不在同一执行机环境,则需要ssh到gatling所在机器上,然后执行scp操作。

sh """

    ssh -o StrictHostKevChecking=no -l root <gatling所在地址>
    scp -rq root@<jenkins所在地址>:/目的目录 root@<gatling所在地址>/<gatling结果报告目录>

"""

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值