Jmeter拓展插件(jmeter-plugins)
Jmeter是一款开源的性能测试工具,纯java编写,体积小,功能强大,基本可以满足性能测试需求。另Jmeter还右一系列的插件来增强其功能,插件地址jmeter-plugins.org.插件现在有5个,分别是Standard set,Extras set,Extras with Libs set,WebDriver set,Hadoop set。
Standard Set(标准插件集)
基本的插件,用于满足日常需求。不需要第三方jar包,地址http://jmeter-plugins.org/wiki/StandardSet/.
该插件拓展了jmeter在结果搜集、线程组、监听接口等方面的功能,还有补充了一些比较有用的函数(个人感觉这个真心有用),下面是函数的介绍。
- chooseRandom
这个方法,可以在指定的数据中随机选择一个。参数:- 第一个参数:数据集中的第一个
- 第二个参数:数据集中的第二个
- … 数据集中的其他选项…
- 最后一个参数:将选中的结果,放入该变量中
例子, 在指定的颜色中随机选择一个,并存储在randomColor变量中:${__chooseRandom(red,green,blue,orange,violet,magenta,randomColor)}
- doubleSum这个方法用来数据求和.参数:
- 求和的第一个数 – 必填
- 求和的第二个数 – 必填
- 求和的其他数据 – 选填
- 最后一个参数 – 将结果保存在该变量中例子, 计算3.5和4.7的和,并将结果保存在sumVariable中:${__doubleSum(3.5, 4.7, sumVariable)}
- isDefined该方法判断一个变量是否已经定义,如果定义返回1,没定义返回0.参数:
1. 第一个参数:变量、函数名或者常量
例子, 判断testVar是否已经定义
${__isDefined(testVar)}
- MD5该方法用来对指定的字符串取md5.参数:
- 第一个参数:要取md5的明文
- 第二个参数:将结果保存在该变量中例子, 计算字符串”test”的md5:
${__MD5(test)}
+ strLen用来获取指定字符串的长度
- MD5该方法用来对指定的字符串取md5.参数:
- uppercase and lowercase转换大小写
- substring获取指定字符串的子集
Extras set(拓展插件集)
额外拓展的插件,包括一些复杂的性能测试需求,不需要第三方jar包。
Extras with Libs set(需要libs的拓展插件集)
需要第三方jar包的插件集合
WebDriver set
这个插件集,集成selenium/webdrivdr(selenium是一款web自动化的框架工具)。该插件可以让jmeter通过js代码驱动浏览器(firefox、chrome)或者android系统,进行页面的稳定性测试,两分钟快速教程。
在线程组中添加Firefox(或者Chrome) Driver Config和Web Driver Sampler后,在Web Driver sampler中添加下面代码:
WDS.sampleResult.sampleStart()
WDS.browser.get('http://google.com')
if(WDS.browser.getTitle() != 'Google') {
WDS.sampleResult.setSuccessful(false)
WDS.sampleResult.setResponseMessage('Page title is not Google!')
}
WDS.sampleResult.sampleEnd()
运行线程组,就可以使用浏览器打开Google,更详细的语法,点击此处。
Hadoop Set
Hadoop/Hbase测试插件