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

news2024/11/26 9:32:21

最近两周在研究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模版修改,请参考前期文章。 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1009216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业网盘 VS 大文件传输, 哪个才是企业传输的正确选择?

在当今的信息时代,文件传输是企业日常工作中不可或缺的一项功能。无论是内部沟通、外部协作、还是客户服务,都需要高效、安全、便捷地传输各种类型和大小的文件。那么,面对市场上众多的文件传输产品和服务,企业应该如何选择呢&…

指针,动态内存分配

目录 什么是指针 指针重要性 指针的定义 ​指针的分类,指针和 基本类型指针 星号的含义 形参实参 ​指针和数组 指针和一维数组 指针变量的运算 一个指针变量到底站占几个字节 指针和二维数组 动态内存分配 传统数组的缺点 为什么需要动态内存分配 …

Taro小程序隐私协议开发指南填坑

一. 配置文件app.config.js export default {...__usePrivacyCheck__: true,... }二. 开发者工具基础库修改 原因:从基础库 2.32.3 开始支持 修改路径:详情->本地设置->调试基础库 三. 用户隐私保护指引更新 修改路径:mp后台->设…

Oracle数据如何迁移导入到MySQL

使用Navicat工具建立数据连接,进行数据传输 1、打开Navicat工具,分别连接Oracle数据库和MySQL数据库。 2、连接源选择你的oracle数据,目标选mysql 即可成功导入

Python中的异常处理4-2

在《Python中的异常处理4-1》中提到,用except可以捕获所有的异常。实际上,在程序运行的过程中,出现异常的原因有很多,比如下标超出范围、除数为0、变量未定义等。 1 except语句加上具体的异常类型 可以在except语句之后加上具体…

cms之wordpress主题安装

WordPress主题安装教程的方法有两种,分为在线安装和上传安装,下面是主题详细安装方法的步骤。 后台在线安装主题 从后台的主题界面在线安装主题是最方便的WordPress主题安装方式。方法如下: 1 在WordPress后台,转到外观→主题 …

yarn的资源优化的调整参数

yarn的资源优化的调整参数 官网: https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml 没事多看官网哈 yarn.nodemanager.resource.memory-mb:用于设置NodeManager节点的总内存容量,单位为MB。根据集…

php预约系统源码 网上预约小程序开发源码 整套系统搭建让在线预约更便捷

随着互联网技术的发展,越来越多的服务行业开始通过网上预约系统来实现便捷的客户管理和服务提供。PHP预约系统源码作为一种成熟的技术方案,可以帮助商家快速搭建自己的预约系统,提高工作效率,优化客户体验。 分享一个php预约系统…

C#教学辅助系统网站as.net+sqlserver

本教学辅助系统系统从两种用户角度进行功能划分。 1、学生部分: 1.1:新闻查看; 1.2:课程公告查看; 1.3:用户注册; 1.4:在线留言; 1.5:资料下载; …

goaccess 日志分析 nginx

分析命令: goaccess -a -d -f /mnt/winshare/access-2023070112.log -p goaccess.conf -o /mydata/nginx/html/2023070112_new.html分析日志时的参数 goaccess使用参数详解-a 开启 UserAgent 列表。开启后会降低解析速度 -c 在程序开始运行时显示 日志/日期 配…

KDD 2023 | WHEN异构时间序列分析模型:当Wavelet和DTW遇上Attention

论文题目: WHEN: A Wavelet-DTW Hybrid Attention Network for Heterogeneous Time Series Analysis 论文链接: https://dl.acm.org/doi/10.1145/3580305.3599549 论文作者: 王静远,杨晨,蒋笑寒,吴俊杰教授…

JavaScript数组的应用及实战

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 引言 1. 数组简介 2. 数组方法API 添加和删除元素 修改和访问元素 数组遍历 数组转换和连接 数组排序和搜索…

IMU+摄像头实现无标记运动捕捉

惯性传感和计算机视觉的进步为在临床和自然环境中获得精准数据带来了新可能。然而在临床应用时需要仔细地将传感器与身体对齐,这减慢了数据收集过程。 随着无标记运动捕捉的发展,研究者们提出了一个新的深度学习模型,利用来自视觉、惯性传感…

BIO、NIO、AIO有什么区别

什么是IO Java中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很…

Spring框架@Autowired和@Resource到底有什么区别

目录 1 来源不同2.依赖查找顺序不同2.1 Autowired 查找顺序2.2 Resource 查找顺序2.3 查找顺序小结 3.支持的参数不同4.依赖注入的支持不同5.编译器提示不同6 总结 1 来源不同 Autowired 和 Resource 来自不同的“父类”,其中 Autowired 是 Spring 定义的注解&#…

从命令行管理文件

1.linux系统中硬盘文件存储原理 硬连接 1.1.原理 linux系统中允许多个文件指向同一个inode,即允许一个文件拥有多个有效的路径名和文件名。 理解:硬连接就是指向原始文件的inode指针 证明一: 创建一个文件t1 查看他的硬链接数 创建一个硬链接 …

一阶微分方程

目录 可分离变量的方程 齐次微分方程 一阶线性微分方程 伯努科方程 全微分方程 可分离变量的方程 可分离变量的方程是一种常见的一阶常微分方程类型,其特点是可以通过将变量分离到方程的两侧,从而可以分别对各自变量进行积分。一般形式的可分离变量…

武汉融资融券(两融)开户利率最低能做到多少?无门槛利率5%!

武汉融资融券(两融)开户利率最低能做到多少?无门槛利率5%! 具体武汉融资融券(两融)开户利率最低能做到多少,需要根据不同的券商政策而定。不同的券商可能具有不同的优惠政策和开户条件,因此开户前应该仔细了解券商的政策和条件。 融资融券是指投资者通…

Minio入门系列【2】纠删码

1 纠删码 Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。 即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据 1.1 什么叫纠删码 纠删码是一种用于重建丢失或损坏数据的数学算法。 纠删码(e…

SQL注入类型判断

SQL注入的类型分为字符型和数字型,以sqli-labs靶场1、2关为例: 文章目录 第一关第二关无错误回显的判断 第一关 第一关注入一个1’,错误回显出下面内容,其中1’是注入的内容,0,1后面的单引号和最前面的单引号是一对&am…