jmeter进阶——链接redis

jmeter进阶——链接redis

实现原理:添加redis插件,然后通过配置配置Redis Data Set或者使用BeanShell脚本来链接redis,就可以把redis的数据取出来进行参数化使用

一、Redis Data Set插件插件下载
1、下载Plugins Manager JAR文件:https://jmeter-plugins.org/get/
2、把下载的文件复制到jmeter文件夹下的lib/ext文件(有的话就不用复制了)
3、重新打开jmeter就可以看到插件管理Plugins Manager (选项-Plugins Manager)
在这里插入图片描述
或者直接在右上角的图标打开
在这里插入图片描述
4、通过插件管理安装redis插件
在Available Plugins 搜索redis勾选然后点击右下角的Appil Changes and Restart JMeter 等待结束就可以了
在这里插入图片描述
二、链接redis
方式一、使用配置元件Redis Data Set 链接在这里插入图片描述
设置Redis Data Set详情
在这里插入图片描述
Redis key:Redis中的key,Redis数据库中列表(有序数据)或集(无序数据)的名称
Variable Names:由数据集导出到测试元素的变量的名称(设置取出来的value存放在哪个变量中)
Delimiter:存储在Redis列表或集合中的行中使用的分隔符(取出的value有多个值时,变量名之间的分隔符)
Date Sources Type:数据源类型,有List、Set两种选择,String、hash、zset类型取不到(在JMeter 3 中RANDOM_REMOVE 对应 List,RANDOM_KEEP 对应 Set)
Timeout for connection in ms:连接超时时间
Recycle data on use:是否循环使用数据
Redis server host:Redis服务器地址
Redis server port:Redis服务器端口
Password for connection:连接Redis的密码
Database:数据库名称,连接Redis的第几个数据库,默认为0
whenExhaustedAction:当Redis连接池被分配时的操作,GROW(自动新建一个实例)、BLOCK(阻塞,超过等待时间后抛出异常)、FAIL(失败,直接抛出异常)

key值得获取:在这里插入图片描述
后面引用设置的变量即可,变量会把取到的redis数据反馈出来(建议随便用个请求验证一下redis的取值是否正确)

方拾二、使用BeanShell脚本实现全面操作redis

1、先安装redis的插件如上,不过多讲解
2、BeanShell脚本通过jedis操作redis
代码如下

import redis.clients.jedis.Jedis;

import org.apache.commons.lang3.StringUtils;

String host = "${服务器的ip}"; //服务器地址

int port = 6379; //端口号 不要加引号

String password = "${这是redis的链接密码}"; //redis密码

int index = 0; //redis db 用的是哪个redis库

String key = "${key值}"; //key值

Jedis jedis = new Jedis(host, port);

if(StringUtils.isNotBlank(password)){

jedis.auth(password);

}

jedis.select(index);

String redisGetResult = jedis.get(key);

vars.put("${自定义}",redisGetResult); //将key值保存为变量

三、对redis的取值处理
通常取出的redis值都不是我们想要的,或者说我们只需要其中的一部分
此时可以把取值利用接口的方式通过边界值提取器提取出来(推荐这个提取器)
例如
在这里插入图片描述
这是一个存储验证码的redis存储结果,我们仅仅需要一个验证码
因为上一步已经把redis数据取出来的,我们需要做进一步提取,提取出我们所需要的。

思路:由于验证码前面两串字符串都是变量我们不方便定位可以通过“:”进行提取,这时验证码的左边界是“:”有边界也是“:”,所以我们可以发送一个求情,redis取出的结果做传参,然后提取出我们所需要的验证码;

1、添加一个http请求把redis的取值当做参数
在这里插入图片描述
然后把请求URL中的验证码尽心提取:添加边界提取器
在这里插入图片描述
我们不确定此redis的取值是否正确(是否取出)可以在http请求下添加一个断言,判断是否存在:3(发送了验证码之后直接获取,所以:3是不变的)

最后我们再新建一个http请求把提取出来的验证码做参数输入查看是否是我们需要的
在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值