工具扩展

在之前的博文中,有介绍自定义函数、Java请求扩展,博文如下:

Jmeter二次开发——基于Java请求

Jmeter二次开发——自定义函数

上述内容,是按自己的需要来进行针对性扩展,从而实现来满足对应测试需求。

开发复杂的插件,工作量还是蛮大的,那有没有官方可扩展的插件呢,答案是有的,今天,就来对自己的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——元件扩展,使其功能更全面的更多相关文章

  1. 转 jmeter 实现loadrunner init end 功能

    一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...

  2. jmeter元件,作用域与优先级

    jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...

  3. 四、C# 5.0 新特性——Async和Await使异步编程更简单

    一.引言 .NET 4.5 的推出,对于C#又有了新特性的增加--就是C#5.0中async和await两个关键字,这两个关键字简化了异步编程,之所以简化了,还是因为编译器给我们做了更多的工作,下面就 ...

  4. 使用C++扩展Python的功能 转自:http://blog.csdn.net/magictong/article/details/8897568#comments

    使用C++扩展Python的功能 环境 VS2005Python2.5.4 Windows7(32位) 简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python ...

  5. Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试

    Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试   需要FQ才能安装,使用时应该不用FQ了,除非使用postman的历史记录功能:   非常棒的C ...

  6. 让Docker功能更强大的10个开源工具

    让Docker功能更强大的10个开源工具 更好的管理.Web前端程序.更深入地了解容器应用程序,Docker生态系统正在迅速发展,这还得归功于其充满活力的开源社区. 软件项目的成功常常根据其催生的生态 ...

  7. 发一个比trace功能更强大debug工具,MonterDebugger

    经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...

  8. 利用日志使管理Linux更轻松

    利用日志使管理Linux更轻松 操作系统的日志主要具有审计与监测的功能,通过对日志信息的分析,可以检查错误发生的原因,监测追踪入侵者及受到攻击时留下的痕迹,甚至还能实时的进行系统状态的监控.有效利用日 ...

  9. 三种扩展 Office 软件功能的开发模型对比 – Office Add-In Model, VBA 和 VSTO

    当 Office 用户需要针对文档自定义新功能时,可以求助于 VBA 或者 VSTO 两种方式.Office 2013 富客户端以后,微软为 Office 平台上的开发者提供了一种新模型 --- Of ...

随机推荐

  1. 在Visual Studio 中使用git——使用git管理源代码(三)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二)   第三部分:使用git管理源代码 ...

  2. 问题:dependencyManagement和dependencies有什么区别

    dependencyManagement和dependencies有什么区别 一.Maven的包管理 在maven中,dependencyManagement.dependencies和depende ...

  3. php判断请求类型(ajax|get|post|cli)

    php判断请求类型,可以通过 $_SERVER 相关的参数来实现, 这个很在对某些请求代码复用里面很常用.具体代码如下: /** *@todo: 判断是否为post */ if(!function_e ...

  4. 关于Number、parseInt、isNaN转化参数

    1.首先,关于NaN的相等判断 alert(NaN==NaN) //返回的是false: 2.isNaN 确定这个参数是否是数值或者是否可以被转化为数值:NaN是not a number 的缩写,所以 ...

  5. hdu4560 不错的建图,二分最大流

    题意: 我是歌手 Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Subm ...

  6. hdu4081 最小树+DFS或者次小树的变形

    题意:       给你一个全图,在里面找到一棵树,这棵树最多只有一条边可以不是最小树(也可以是), 要求 那对特殊的边的两个权值/除了这条边其他边的和最大. 思路:      方法有很多,最少有三种 ...

  7. hdu4909 状态压缩(偶数字符子串)

    题意:       给你一个字符串,里面最多有一个'?','?'可以表示'a' - 'z',也可以什么都不表 示,这里要明确,什么都不表示不是不存在的意思,当aa什么都不表示的时候aa 也不等于aa? ...

  8. Swift系列二 - 循环控制

    一.if-else if后面的条件可以省略小括号 条件后面的大括号不可以省略 let age = 10 if age >= 18 { print("大学") } else i ...

  9. java.lang.ClassNotFoundException的解决方案

    举一个特定的例子 java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource 到Maven中央仓库下载 当我们看 ...

  10. 【dependencyManagement版本管理】dependencies.dependency.version is missing

    maven 的gav的v(版本问题) 报错dependencies.dependency.version is missing 出现的场景 一个项目中有多个模块 父模块中出现dependencies. ...