jmeter自定义函数--生成Email
上一篇 /
下一篇 2022-11-14 13:03:45
/ 个人分类:Jmeter
packageorg.apache.jmeter.functions;
importjava.util.Collection;
importjava.util.LinkedList;
importjava.util.List;
importorg.apache.jmeter.engine.util.CompoundVariable;
importorg.apache.jmeter.samplers.SampleResult;
importorg.apache.jmeter.samplers.Sampler;
importorg.apache.jmeter.threads.JMeterVariables;
importorg.apache.jmeter.util.JMeterUtils;
public classMyEmailextendsAbstractFunction {
public staticStringbase="abcdefghijklmnopqrstuvwxyz0123456789";
private static finalString[]email_suffix="@gmail.com,@yahoo.com,@msn.com,@hotmail.com,@aol.com,@ask.com,@live.com,@qq.com,@0355.net,@163.com,@163.net,@263.net,@3721.net,@yeah.net,@googlemail.com,@126.com,@sina.com,@sohu.com,@yahoo.com.cn"
.split(",");
public staticStringgetEmail(intlMin, intlMax) {
intlength =getNum(lMin,lMax);
StringBuffer sb =newStringBuffer();
for(inti =0;i < length;i++) {
intnumber = (int) (Math.random() *base.length());
sb.append(base.charAt(number));
}
sb.append(email_suffix[(int) (Math.random() *email_suffix.length)]);
returnsb.toString();
}
public static intgetNum(intstart, intend) {
return(int) (Math.random() * (end - start +1) + start);
}
private static finalList<String>desc=newLinkedList<>();
private static finalStringKEY="__My_GetEmail";
private static final intMAX_PARA_COUNT=3;
private static final intMIN_PARA_COUNT=2;
privateObject[]values;
privateCompoundVariablevarName;
static{
desc.add("设置最小长度");
desc.add("设置最大长度");
desc.add(JMeterUtils.getResString("function_name_paropt"));
}
publicList<String>getArgumentDesc() {
returndesc;
}
publicStringexecute(SampleResult arg0,Sampler arg1)throwsInvalidVariableException {
String email,varTrim =null;
try{
intmin = (newInteger(((CompoundVariable)this.values[0]).execute().trim())).intValue();
intmax = (newInteger(((CompoundVariable)this.values[1]).execute().trim())).intValue();
email =getEmail(min,max);
if(this.varName!=null) {
JMeterVariables vars = getVariables();
varTrim =this.varName.execute().trim();
if(vars !=null&& varTrim.length() >0)
vars.put(varTrim,email);
}
}catch(Exception ex) {
throw newInvalidVariableException(ex);
}
returnemail;
}
publicStringgetReferenceKey() {
return"__Gx_GetEmail";
}
public voidsetParameters(Collection<CompoundVariable> parameters)throwsInvalidVariableException {
checkParameterCount(parameters,2,3);
this.values= parameters.toArray();
if(this.values.length>2) {
this.varName= (CompoundVariable)this.values[2];
}else{
this.varName=null;
}
}
}
相关阅读:
- 夯实Java基础,一篇文章全解析线程问题 (liqianqian1116, 2022-11-04)
- 如果要抗住双11高并发压力,你的Java系统该怎么设计 (liqianqian1116, 2022-11-07)
- 20 个超级有用的 JavaScript 技巧,让你的工作更轻松(上) (liqianqian1116, 2022-11-08)
- 20 个超级有用的 JavaScript 技巧,让你的工作更轻松(下) (liqianqian1116, 2022-11-08)
- 使用 Java 将图像文件转换为 GIF 或 WebP 格式 (liqianqian1116, 2022-11-10)
- 模拟百万并发利器,JMeter的使用实践 (liqianqian1116, 2022-11-10)
- 公司新招的Java技术大咖,设计出来的架构就是牛 (liqianqian1116, 2022-11-10)
- Java处理按钮点击事件的方法 (liqianqian1116, 2022-11-11)
- Java获取百度网盘真实下载链接的方法 (liqianqian1116, 2022-11-14)
- Jmeter实现RPC接口测试简洁化需求 (大椿菜, 2022-11-15)
收藏
举报
TAG:
Java
Jmeter
jmeter
java