Jmeter——元件扩展,使其功能更全面
工具扩展
在之前的博文中,有介绍自定义函数、Java请求扩展,博文如下:
上述内容,是按自己的需要来进行针对性扩展,从而实现来满足对应测试需求。
开发复杂的插件,工作量还是蛮大的,那有没有官方可扩展的插件呢,答案是有的,今天,就来对自己的Jmeter工具扩展一下。
扩展包
在扩展之前,需要下载扩展包,下载地址,下载 plugins-manager.jar ,下载后,将文件放到Jmeter目录 lib/ext 下。如下所示:

需要注意的是,如果已经打开了Jmeter,需要重启Jmeter才生效哦。
重启Jmeter之后,查看Jmeter面板,工具栏中会多一个图标,如下:

点击图标,查看界面中的内容,分别是已安装的、可安装的、可升级的,如下所示:

函数扩展
我们可以看到,可安装tab下,有很多扩展项,官网也有详细文档介绍,点击查看具体文档。
我们先来扩展下函数,在可安装tab下,选择 Custom JMeter Functions ,具体操作如下所示:

选择后,点击Apply Changes and Restart Jmeter,Jmeter会下载对应Jar包,并重启,使扩展生效。
重启后,我们来看函数助手中的函数,会多展示一些,未扩展之前,这些函数时不展示的,比如:chooseRandom,如下所示:

其实还有其他函数,我们直接来看官网介绍,点击查看详情,会增加15个函数,具体如下:
- chooseRandom
- doubleSum
- env
- isDefined
- MD5
- base64Encode
- base64Decode
- strLen
- substring
- strReplace
- strReplaceRegex
- uppercase and lowercase
- iterationNum
- caseFormat
函数的具体用法就不介绍了,官网上的文档有详细介绍。
线程组扩展
平时在做性能测试的时候,用默认的线程组,有些场景不好设计。同样的,可以通过线程扩展来解决,里面就有我们熟悉的 jp@gc - Stepping Thread Group。扩展方式我们具体来看:
由于之前已经讲了扩展的入口,这里就不说了,操作一样,进入下扩展弹框中,添加Custom Thread Groups,如下所示:

右侧显示,添加这个插件,会新增5个线程组,添加后,我们重启Jmeter,具体来看下线程组,是不是多了5个,如下所示:

从图中可知,的确新增了5个线程组,平时用的比较多的是 jp@gc - Stepping Thread Group,详细官网文档。
具体使用,后续博文再讲。
监听扩展一
真正做性能测试,是需要在非GUI模式下运行,避免Jmeter本身对性能结果的影响。但界面中,Jmeter也是支持查看监控的,比如:内存、CPU等,那如何扩展来实现呢?我们具体来看。
注意:真正性能测试,测试过程中,不建议通过Jmeter面板查看监控数据。
我们在扩展弹框中,选择 PerfMon (Servers Performance Monitoring) 安装并重启,操作如下:

重新后,我们配置监听器,就可以看到我们刚扩展的监听器了,如下所示:

添加监听器,配置数据行,可以选择不同的指标,比如CPU、内存、IO,如下所示:

使用说明可以见官方文档,就不细说了。
监听扩展二
除了上面的图形监听外,还有些其他监听工具,按官网给的jar包扩展即可,jar包获取地址:https://jmeter-plugins.org/downloads/old/

下载JMeterPlugins-Standard-1.4.0.zip和JMeterPlugins-Extras-1.4.0.zip,解压后,将对应的jar包放到Jmeter安装目录下的lib\ext路径下,重启Jmeter即可。
查看Jmeter监听器列表,可以看到多了很多以jp@gc开头的监听器,如下所示:

扩展的元件,后续结合实际场景再来介绍,今天就只分享元件扩展这部分,下期再见。
Jmeter——元件扩展,使其功能更全面的更多相关文章
- 转 jmeter 实现loadrunner init end 功能
一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...
- jmeter元件,作用域与优先级
jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...
- 四、C# 5.0 新特性——Async和Await使异步编程更简单
一.引言 .NET 4.5 的推出,对于C#又有了新特性的增加--就是C#5.0中async和await两个关键字,这两个关键字简化了异步编程,之所以简化了,还是因为编译器给我们做了更多的工作,下面就 ...
- 使用C++扩展Python的功能 转自:http://blog.csdn.net/magictong/article/details/8897568#comments
使用C++扩展Python的功能 环境 VS2005Python2.5.4 Windows7(32位) 简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python ...
- Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试
Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试 需要FQ才能安装,使用时应该不用FQ了,除非使用postman的历史记录功能: 非常棒的C ...
- 让Docker功能更强大的10个开源工具
让Docker功能更强大的10个开源工具 更好的管理.Web前端程序.更深入地了解容器应用程序,Docker生态系统正在迅速发展,这还得归功于其充满活力的开源社区. 软件项目的成功常常根据其催生的生态 ...
- 发一个比trace功能更强大debug工具,MonterDebugger
经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...
- 利用日志使管理Linux更轻松
利用日志使管理Linux更轻松 操作系统的日志主要具有审计与监测的功能,通过对日志信息的分析,可以检查错误发生的原因,监测追踪入侵者及受到攻击时留下的痕迹,甚至还能实时的进行系统状态的监控.有效利用日 ...
- 三种扩展 Office 软件功能的开发模型对比 – Office Add-In Model, VBA 和 VSTO
当 Office 用户需要针对文档自定义新功能时,可以求助于 VBA 或者 VSTO 两种方式.Office 2013 富客户端以后,微软为 Office 平台上的开发者提供了一种新模型 --- Of ...
随机推荐
- Python学习笔记-PuLP库(3)线性规划实例
本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程. 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克.工人10名,获利10万元:每百箱乙饮料需用原料5千克.工人2 ...
- Word/Excel文档伪装病毒-kspoold.exe分析
一. 病毒样本基本信息 样本名称:kspoold.exe 样本大小: 285184 字节 样本MD5:CF36D2C3023138FE694FFE4666B4B1B2 病毒名称:Win32/Troja ...
- Android APK程序的smali动态调试
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/71250622 一.Apktool的下载和安装 Apktool是Android逆向分 ...
- Aircrack-ng破解无线WIFI密码
首先,如果kali是装在虚拟机里面的话,是不能用物理机的无线网卡的.所以,如果我们要想进行无线破解,需要外接一个无线网卡设备,并且该设备要支持 monitor 监听模式 iwconfig :系统配置无 ...
- 利用 Windows 线程池定制的 4 种方式完成任务(Windows 核心编程)
Windows 线程池 说起底层的线程操作一般都不会陌生,Windows 提供了 CreateThread 函数来创建线程,为了同步线程的操作,Windows 提供了事件内核对象.互斥量内核对象.关键 ...
- CVE-2017-11826:Office Open XML 标签嵌套解析混淆漏洞
\x01 前言 CVE-2017-11826 据说是 360 在 2017 年 9 月底发现的一个关于 XML 格式解析的一个漏洞,之后微软在 10 月份发布了关于 CVE-2017-11826 的补 ...
- 【Android Jetpack高手日志】DataBinding 从入门到精通
前言 DataBinding 数据绑定库是 Android Jetpack 的一部分,借助该库可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源.我个人觉得,使用 DataBin ...
- PHP中ftp的连接与操作
1.操作类 <?phpclass FtpService{ protected $connect = 0; public function __construct() { $this->co ...
- postman Variables变量的详解与应用
变量 变量类型(按照作用域划分) 全局变量(全局环境里面的变量) 集合变量(请求集合里声明的变量) 自定义环境变量 数据变量(在runner时文件变量) 本地变量 变量权重类型 全局变量 < 集 ...
- 关于Java的 long,float 类型
发现了这么一个坑: 1.2f+3.4f=4.60000014305114751.2d+3.4d=4.6