1、安装Jenkins
- 简单安装及启动jenkins的方法
- 下载jenkins.war包
- 用java命令直接启动jenkins:java -jar jenkins.war --httpPort=8080
- 安装需要用到的jenkins插件
-
Publish HTML reports:用于解析jmeter生成的html报告
-
Groovy Postbuild:用于解除jenkins对js的限制
-
2、编写压测脚本
- 部分地方做参数化
3、编写shell脚本
# 压测脚本模板中设定的压测时间应为60s
export jmx_template=${test_name}
export suffix=".jmx"
export jmx_template_filename="${jmx_template}${suffix}"
export os_type="uname"
# 需要在系统变量中定义jmeter根目录的位置,如下
export jmeter_path="/root/sen/jmeter/apache-jmeter-5.6.3"
echo "自动化压测开始"
rm -rf web-report
mkdir -p web-report
echo "" > web-report/index.html
# 压测并发列表
thread_number_array=(${thread_array})
for num in "${thread_number_array[@]}"
do
# 生成对应压测线程的jmx文件
export jmx_filename="${jmx_template}_${num}${suffix}"
export jtl_filename="test_${num}.jtl"
export web_report_path_name="web_${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
sed -i "" "s/thread_num/${num}/g" ${jmx_filename}
sed -i "" "s/duration_time/${duration_time}/g" ${jmx_filename}
else
sed -i "s/thread_num/${num}/g" ${jmx_filename}
sed -i "s/duration_time/${duration_time}/g" ${jmx_filename}
fi
# JMeter 静默压测
${jmeter_path}/bin/jmeter -n -t ${jmx_filename} -l ${jtl_filename}
# 生成Web压测报告
${jmeter_path}/bin/jmeter -g ${jtl_filename} -e -o web-report/${web_report_path_name}
echo "<a href='${web_report_path_name}'>${web_report_path_name}</a><br>" >> web-report/index.html
echo "生成报告${web_report_path_name}完毕"
# rm -f ${jmx_filename} ${jtl_filename}
sleep ${sleep_sec}
done
echo "自动化压测全部结束"
4、配置jenkins工程
!](https://img-blog.csdnimg.cn/direct/fee86b3bcb9a4c81a651f1a8ef3ee4ff.png)