@(Jmeter)[工具类|自定义函数|软件测试]
jmeter_extra_tool是一个专为Jmeter服务的常用工具类和自定义函数集。为日常的测试工作带来方便。
- com.tomoya.jmeter
- Tool类:包含获取MD5值、获取中文名、JDBC结果写入文件等方法、数组写入Excel等方法
- RSA类:包含公钥加密、私钥解密;私钥加密、公钥解密等方法
- Excel类:包含覆盖写入和单行追加写入Excel文件的方法
- IdCard类:身份证格式算法
- com.tomoya.functions
- ...
[TOC]
- com.tomoya.jmeter
- com.tomoya.jmeter.Tool
- getChineseName()
获取2~4个字的中文名,常用字版(名字为五个笔画以内) - getMD5(String)
返回32位md5值 - getHashCode(String)
返回HashCode值 - writeFile(String, String)
字符串写入文件(覆盖) - writeFile2(String, String, boolean)
字符串写入文件(flase 覆盖, true 增量) - JDBCResultWriteFile(ArrayList, String, String)
Jmeter的JDBC Result中指定列,写入文件 - JDBCResultWriteFile(ArrayList, String[], String)
Jmeter的JDBC Result中指定多列,写入文件 - getMobile(String, String)
获取11位手机号 - getEmail(ArrayList, String, String)
获取指定范围长度的邮箱地址
- getChineseName()
- com.tomoya.jmeter.RSA
- pubKeyEncrypt(String, String)
使用公钥进行加密,返回公钥密文 - priKeyDecrypt(String, String)
传入公钥密文,使用私钥进行解密,返回明文 - priKeyEncrypt(String, String)
使用私钥进行加密,返回私钥密文 - pubKeyDecrypt(String, String)
传入私钥密文,使用公钥进行解密,返回明文
- pubKeyEncrypt(String, String)
- com.tomoya.jmeter.Excel
- writeToExcel(String[], String[], String)
传入标题、单行数据源、文件地址,追加写入Excel文件 - writeToExcel2(String[], List String)
传入标题、数据集、文件地址,复写整个Excel文件
- writeToExcel(String[], String[], String)
- com.tomoya.jmeter.IdCard
- getIdCard()
生成随机身份证号码 - getIdCard(String City)
生成指定城市的身份证号码
- getIdCard()
- com.tomoya.jmeter.Tool
- com.tomoya.functions
- com.tomoya.functions.MD5
- execute(SampleResult, Sampler)
return 函数运行结果 - getArgumentDesc()
return 参数描述 - getReferenceKey()
return 函数名 - setParameters(Collection<>)
传入Jmeter中用户输入的参数
- execute(SampleResult, Sampler)
- HashCode
- ...
- ChineseName
- ...
- Date
- ...
- Mobile
- ...
- Email
- ...
- IdCardNo
- ...
- com.tomoya.functions.MD5
##发布版下载 ###jmeter_extra_tool-v1.0.jar 点击进入下载页面
###jmeter_extra_tool-v1.1.jar 点击进入下载页面
Apache POI (下载后把所有jar包copy到Jmeter安装路径的/lib/ext目录下)
##使用方法
将编译出来的jar包放入Jmeter的/lib/ext路径下,重新启动Jmeter。在BeanShell类型组件中 import com.tomoya.jmeter.*; 就可以调用Tool类和RSA类中的方法了。
将编译出来的jar包和下载的Apache POI 所有jar包放入Jmeter的/lib/ext路径下,重新启动Jmeter。在BeanShell类型组件中 import com.tomoya.jmeter.*; 就可以调用Excel类中的方法了。
将编译出来的jar包放入Jmeter的/lib/ext路径下,重新启动Jmeter。你将会在你的函数助手对话框中找到它们。本人定义的是以一个下划线**"_"**为前缀。
注意:编写Jmeter自定义函数时,包名必须包含"functions"。导入ApacheJMeter_core.jar文件到你的项目中。最后导出的jar包放在/lib/ext目录下。
package com.tomoya.functions;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.functions.AbstractFunction;
import org.apache.jmeter.functions.InvalidVariableException;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import com.tomoya.jmeter.Tool;
/**
* FileName: MD5.java Jmeter自定义函数,获取MD5值
* 包名必须包含"functions",导出的jar包放在/lib/ext目录下
*
* @author tomoya
* @version v1.0
*/
public class MD5 extends AbstractFunction {
/** 函数描述 */
private static final List<String> desc = new LinkedList<String>();
static {
// desc.add("Get a MD5 String within specified parameter value.");
desc.add("明文");
}
/** 函数名称 */
private static final String FUNCTION_NAME = "_MD5";
/** 传入参数的最小数量 */
private static final int MIN_PARA_COUNT = 1;
/** 传入参数的最大数量 */
private static final int MAX_PARA_COUNT = 1;
/** 函数接收值 */
private Object[] values;
/**
* 函数算法
* @return 函数运算结果
*/
private String run() {
String str = new String(((CompoundVariable) values[0]).execute().trim());
String MD5 = Tool.getMD5(str);
return String.valueOf(MD5);
}
/**
* 返回参数描述
*/
@Override
public List<String> getArgumentDesc() {
return desc;
}
/**
* 返回函数运行结果
*/
@Override
public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException {
try {
return run();
} catch (Exception ex) {
throw new InvalidVariableException(ex);
}
}
/**
* 返回函数名
*/
@Override
public String getReferenceKey() {
return FUNCTION_NAME;
}
/**
* 返回输入参数
*/
@Override
public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {
checkParameterCount(parameters, MIN_PARA_COUNT, MAX_PARA_COUNT); // 检查参数的个数是否正确
values = parameters.toArray(); // 将值存入类变量中
}
}
版本 | 日期 | 备注 |
---|---|---|
v1.0 | 2017-10-07 | 建立 |
v1.1 | 2017-10-25 | 新增Excel类(依赖Apache POI) |
- 博客:tomoya_chen
- 邮箱:[email protected]
感谢阅读这份帮助文档。本人还是刚入门的初学者,如果有反馈和建议请不吝赐教!