基于Jmeter+maven+Jenkins构建性能自动化测试平台
一、目的:
为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台
二、环境准备:
1、选定Linux服务器(一台或多台均可,目前为10.0.4.109),安装jmeter(直接解压缩已下载好的jmeter zip包即可使用),做为测试负载机
JDK版本要求:1.8
jmeter版本要求:3.1
启动jmeter测试负载机:
1)进入/data0/java/apache-jmeter-3.1
2)执行start.sh(自己编写一个简单的启动jmeter负载机脚本)
3)启动后可查看日志jmeter-server.log
2、建立一个maven项目(已建立好,项目可通用,只需将调试好的jmeter脚本放置在对应目录下即可)
Teamcode上搜索fangdd/testcode/jmeter-performance-platform
1)将本机调试好的jmeter脚本放置于项目的src/test/jmeter目录下
脚本命名建议:
Xx项目_config_env_xx环,示例:agent_config_env_test.jmx 即表示为经纪人项目测试环境对应jmeter脚本,且启动线程数与运行时长可通过读取jmeter的 user.properties 配置来设置(推荐)
Xx项目_env_xx环,示例:agent_env_test.jmx 即表示为经纪人项目测试环境对应jmeter脚本,且启动线程数与运行时长不可通过配置配置,在脚本中已设置为固定值(不推荐)
2)配置pom(项目中已配置好,可通用,无需重复配置)
3)Jenkins安装Performance plugin插件,用于解析jmeter生成jtl结果文件并生成统计图表
三、关键配置说明:
1、jmeter-maven-plugin插件配置说明
该插件主要用于驱动远程jmeter负载机执行测试
通过命令clean test -Djmeter.jmx=xxx.jmx指定需要执行的jmeter脚本
例:
执行经纪人jmeter性能测试脚本:clean test -Djmeter.jmx=agent_config_env_test.jmx
1)execution配置要执行插件目标命令
2)使用<testFilesIncluded>选择执行用例
3)设置时间戳格式
4)使用<resultsDirectory>指定结果路径,使用<ignoreResultFailures>忽略错误
5)remoteConfig设置远程jmeter负载机列表
2、jmeter-analysis-maven-plugin插件配置说明
该插件主要用于分析jmeter生成测试结果文件,source配置指向jmeter结果文件生成路径,targetDirectory配置解析处理后生成报告存储路径
3、jmeter配置说明:
#number of threads to use
jmeter.threads=50 配置需要启动的线程数
#delay of the test in seconds
jmeter.delay=0 配置启动延时时间,单位:秒
#duration of the test in seconds
jmeter.duration=60 配置运行持续时长,单位:秒
#how long till all threads are up and running in seconds
jmeter.rampup=10 配置所有线程全部启动时长(即所有线程在多长时间内全部启动完毕),单位:秒
四、jmeter脚本关键设置说明及规范:
1、添加用户自定义变量,并设置如下变量值
名称 值 描述
threads ${__P(jmeter.threads,0)} 线程数
delay ${__P(jmeter.delay,0)} 启动延时(秒)
duration ${__P(jmeter.duration,0)} 持续时间(秒)
rampup ${__P(jmeter.rampup,0)} 加压时间(秒)
2、线程组设置中引用如上设置的自定义变量
3、jmeter脚本如需引用第三方jar包或配置文件,且jmeter自带lib下未包含此jar包,则将所需引用jar包与配置文件放置于jmeter lib/ext目录下即可,然后重新启动jmeter即可自动加载引用
4、可将Jenkins执行完毕后,jmeter生成.jtl结果文件下载至本机,通过jmeter聚合报告监听器浏览查看性能测试数据
1)进入Jenkins对应性能测试项目工作空间如下如所示路径,下载.jtl结果文件至本机
2)启动本机jmeter,添加聚合报告监听器
3)点击“浏览”并选择已下载.jtl文件,即可在本地查看jmeter性能测试报告数据
五、Jenkins添加对应项目性能测试job,可配置定时执行:
具体配置可参考已有项目:http://ci-sz.fangdd.net/job/perfmance/job/agent-perfmance-test/
Jenkins执行jmeter性能测试前,请确认jmeter负载机服务已启动
效果图:
六、参考文档:
Jmeter+maven+Jenkins构建云性能测试平台
http://www.cnblogs.com/zhengah/p/5168338.html
jmeter-maven-plugin使用,以及jmeter与Jenkins集成
http://blog.csdn.net/kittyboy0001/article/details/34109089
https://github.com/afranken/jmeter-maven-plugin-example
基于Jmeter+maven+Jenkins构建性能自动化测试平台的更多相关文章
- Jmeter+maven+Jenkins构建云性能测试平台(mark 推荐)
转自:http://www.cnblogs.com/victorcai0922/archive/2012/06/20/2555502.html Jmeter+maven+Jenkins构建云性能测试平 ...
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因
Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#
- 基于 Jmeter 的 web 端接口自动化测试平台
简介 基于之前的react+unittest+flask的接口自动化平台开发经验,和趟过的坑,我重新开发了这个接口自动化平台.平台前端采用的antd+dva+umi的antd-pro模板,结合平台业务 ...
- Jmeter+ant+Jenkins构建接口自动化测试
1.已写好jmeter脚本 2.安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter 3.修改jmeter的jmeter.properties文件(将 ...
- Jmeter +Maven+jenkins+eclipse 接口自动化测试
背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自 ...
- 基于 Jmeter 的 web 端接口自动化测试平台(转载)
框架 功能点 批量导入har包生成接口用例 接口用例分组树形展示 用例编辑失焦自动保存 用例编写提供快捷调试模块 支持多类型参数,json+文本两种校验 支持同一个项目中接口参数传递 提供即时任务+每 ...
- 自动化测试框架:jmeter + maven+ jenkins
原理:jenkins驱动maven执行,maven驱动jmeter执行 前提条件:windows安装了jmeter.maven.tomcat.jenkins 安装方法参考汇总目录中对应的博文:http ...
- jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...
随机推荐
- 怎样重建一个损坏的调用堆栈(callstack)
原文作者:Aaron Ballman原文时间:2011年07月04日原文地址:http://blog.aaronballman.com/2011/07/reconstructing-a-corrupt ...
- CImage 对话框初始化时候显示透明 PNG
使用CImage的时候,发现显示出来的并不是透明背景的图片,而是白色背景的图片. 后发现原因如下: PNG图片的透明背景总是一片白色,后来才发现这其实是微软GDI+的设计问题,PNG图片是ARGB,使 ...
- Linux - script练习
首先HelloWorld 对谈式脚本:变量内容由使用者决定 随日期变化:利用date进行文件的创建 比较直接运行与利用source来运行脚本的区别
- 【Android 应用开发】Android之Bluetooth编程
Android Bluetopth 编程大牛文章 http://my.oschina.net/u/994235/blog?catalog=313604 ViewGroup 相关资料 : http:// ...
- linux上部署rmi+memcache服务
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/50020437 最近在学习linux上搭建Rmi+Memca ...
- 网站系统压力测试Jmeter+Badboy
最近项目需要压力测试,因此搜了几款试用,首选的是LoadRunner这款大名鼎鼎的测试软件: LoadRunner11 下载请猛戳这里 传送门LoadRunner破解文件 下载请猛戳这里 传送门Loa ...
- twisted高并发库transport函数处理数据包的些许问题
还是在学校时间比较多, 能够把时间更多的花在学习上, 尽管工作对人的提升更大, 但是总是没什么时间学习, 而且工作的气氛总是很紧凑, 忙碌, 少了些许激情吧.适应就好了.延续着之前对twisted高并 ...
- MQ队列管理器搭建(三)
MQ集群及网关队列管理器的搭建 描述: 如上图所示,为MQ的集群搭建部署图.CLUSTERA.CLUSTERB分别是两个集群,其中Qm1-Qm3.GateWayA为CLUSTERA集群中的队列 ...
- Spring Cloud 入门教程 - 搭建配置中心服务
简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...
- Spring Aop中,获取被代理类的工具
在实际应用中,顺着过去就是一个类被代理.反过来,可能需要逆向进行,拿到被代理的类,实际工作中碰到了,就拿出来分享下. /** * 获取被代理类的Object * @author Monkey */ p ...