当前位置:   article > 正文

jmeter +jenkins 实现压测自动化_jmeter+jenkins压测

jmeter+jenkins压测

本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~

霍格沃兹启发

技术分享 | Jenkins 如何参数化job ?
性能课程-电商压测实战

一、shell脚本实现jmeter压测自动化

1.1 编写jmeter脚本

在这里插入图片描述

1.2 编写shell脚本

#!/usr/bin/env bash

# 压测脚本模板中设定的压测时间为60s

export jmx_template="demo"
export suffix=".jmx"
export jmx_template_filename="${jmx_template}${suffix}"
export os_type=`uname`
export jmxFile="jmx"
export jtlFile="jtl"

echo "自动化压测开始"

# 压测并发数列表 ,用来替换jmeter脚本中的设置的thread_num 变量 
thread_number_array=( 10 11)  
for num  in "${thread_number_array[@]}"
do
    # 生成对应压测线程的jmx文件
    export jmx_filename="${jmxFile}/${jmx_template}_${num}${suffix}"
    export jtl_filename="${jtlFile}/test_${num}.jtl"
    export web_report_path_name="web_report_${num}"
	
	# 把历史重复的文件删除
    rm -f ${jmx_filename} ${jtl_filename}
    rm -rf ${web_report_path_name}

    cp ${jmx_template_filename} ${jmx_filename}
    echo "生成jmx压测脚本 ${jmx_filename}"

    if [[ "${os_type}" == "Darwin" ]]; then
        # thread_num 为jmx文件中需要替换的关键字
        sed -i "" "s/thread_num/${num}/g" ${jmx_filename}
    else
        sed -i "s/thread_num/${num}/g" ${jmx_filename}

    fi

    # jmeter 静默压测
    echo "静默压测_${num}"
    jmeter -n -t ${jmx_filename} -l ${jtl_filename}

    # 生成web压测报告
    echo "生成web压测报告_${num}"
    jmeter -g ${jtl_filename} -e -o ${web_report_path_name}
    echo "jmeter -g ${jtl_filename} -e -o ${web_report_path_name}"

done

echo "自动化压测全部结束"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

二、jenkins持续集成

2.1 shell脚本上传码云

shell脚本上传码云

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/416683
推荐阅读
相关标签