要使用jmeter从Redis中取出登录人token的值
准备
需要准备好jedis的jar包放在jmeter安装路径的lib下
jar包下载:https://mvnrepository.com/artifact/redis.clients/jedis/3.1.0-rc2
设置连接参数
在User Defined Variables(用户定义的变量)中先设置好连接Redis的参数
名称 | 值 | 描述 |
---|---|---|
redis-host | 127.0.0.1 | 连接主机地址 |
redis-port | 6379 | 端口号 |
redis-password | 密码 | |
redis-index | 0 | 第几个库 |
redis-string-key | student | 要取值的key |
BeanShell 脚本
创建一个BeanShell Sampler(BeanShell 取样器)
import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import org.apache.commons.lang3.StringUtils;
String host = "${redis-host}"; //服务器地址
int port = ${redis-port}; //端口号
String password = "${redis-password}"; //redis密码
int index = ${redis-index}; //redis db,0选择第一个db0
String key = "${redis-string-key}"; //key值
Jedis jedis = new Jedis(host, port);
if(StringUtils.isNotBlank(password)){
jedis.auth(password);
}
jedis.select(index);
//取出值
String str= jedis.get(key);
log.info("======================="+str);
//截取token
String token = str.substring(12,str.indexOf(","));
log.info("---------"+token);
//给外部用
vars.put("token",token);