实现功能:对给定的用逗号分隔的字符串,随机返回其中一个。
代码如下:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.apache.jmeter.functions; import org.apache.jmeter.engine.util.CompoundVariable; import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.samplers.Sampler; import org.apache.jmeter.util.JMeterUtils; import java.util.*; import java.util.Random; /** * Function to return a random string you given * Pass parameters split by comma * * @since 2.10 */ public class GetRandomStr extends AbstractFunction { private static final List<String> desc = new LinkedList<>(); private static final String KEY = "__getrandomstr"; //$NON-NLS-1$ static { desc.add(JMeterUtils.getResString("getrandomstr_string")); //$NON-NLS-1$ } private Object[] values; Random ra; int rannum; public GetRandomStr() { } /** {@inheritDoc} */ @Override public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException { String randomString = ""; //$NON-NLS-1$ ra =new Random(); rannum = ra.nextInt(values.length); try { randomString = ((CompoundVariable) values[rannum]).execute(); } catch (Exception uee) { return null; } return randomString; } /** {@inheritDoc} */ @Override public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException { //checkParameterCount(parameters, 1); values = parameters.toArray(); } /** {@inheritDoc} */ @Override public String getReferenceKey() { return KEY; } /** {@inheritDoc} */ @Override public List<String> getArgumentDesc() { return desc; } }
在messages.properties中增加对应的属性:
urlencode_string=String to encode in URL encoded chars
getrandomstr_string=return a random you given,split by comma
use_custom_dns_resolver=Use custom DNS resolver
使用截图:
相关推荐
使用规则,如:${__RandomFromStringList(xx1|xx2|xx3|xx4,)},这样便可随机选择字符串(中间用“|”分开),再也不用把随机字符串写在文本里了,对于少量随机使用起来很方便。 jmeter版本:3.3,是否兼容别的版本还...
函数助手生成的函数置灰无法复制修改源码替换文件重启jmeter即可
基于Java 二次开发 Jmeter. 1、读取本地图片,转成base64 2、AES CBC和ECB加密和解密 3、集成到Jmeter函数助手中
jmeter3实现返回json串的断言,将 jmeter-plugins-json-2.3.jar 复制到lib/ext/.
JMETER 函数详细讲解 参数化的过程中间已经提到过函数,JMETER 通过工具菜单栏中间的选项函数助手对话框管理函数,与LoadRunner相比JMETER的函数数量要少很多。 运行--->选项-->函数助手对话框
1、下载Mock包使用函数对话框助手随机生成姓名进行参数化; 2、下载完成后将jar包放入jemter安装目录下的lib/ext文件夹下重启jmeter即可 3、jmeter中【选项】--【函数助手对话框】--在值内输入@cname 点击生成 4、...
jar包放在jmeter-lib-ext目录下,打开jmeter在函数助手中可以看到。CarId.jar为车牌号生成,需要输入(省会简称(京津冀),市级代码(ABCD));
jar包放在jmeter-lib-ext目录下,打开jmeter在函数助手中可以看到。DSE.jar为DES加解密,需要输入(明文,ENCODE,加密key(16位)或者(密文,DECODE,解密KEY(16位));
随机生成姓名----- 中文+英文+数字
Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter
支持一键导入Excel测试数据,自动设置为变量,打开测试数据文件,后期可以优化
目前线上资源较少关于jmeter实现oauth1.0请求的方法,系统接口通过Oauth1.0方式授权登录,通过jmeter自带beanshell插件解决认证授权问题 资源附带了脚本代码和实现步骤
全栈性能测试修炼宝典JMeter实战 -4jmeter脚本开发.xmind
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域
随机数在python就是一个random函数,jmeter中也是有函数的 输入最大值最小值,我这里是随意的输入,,,别较真,输入好后,点击生成,就会有一个表达式,复制表达式 把表达式粘贴到用户中 最后就是把表达式粘贴到...
jmeter开发
生成随机的汉字 字母 数字 特殊字符,可以定制产生的数量。
jmeter 实现图片base64 加密 Base64Data.jar
jmeter二次开发准备的契机 主要说明官方的在线api ,以及jmeter 写shellbean + java的脚本准备工作
通过jmeter配置, 实现https双向认证,从而实现https双向认证客户端的模拟,可以完成https双向认证的测试