jmeter登录时对图片验证码的处理

在登录时,通常会需要输入验证码,而且每次图片的验证码都是随机的,那这时我们可以通过jmeter,直接从redis中获取,然后再登录接口中使用。

1.通过抓包可以看到,一般情况下,获取图片验证码时会调验证码的接口,然后在redis就会生成验证码,只要我们通过提取验证码然后引用,即可完成登录。
jmeter登录时对图片验证码的处理_第1张图片
jmeter登录时对图片验证码的处理_第2张图片
2.首先我们可以在jmeter编辑调取验证码的接口
jmeter登录时对图片验证码的处理_第3张图片
3.然后就是获取Redis的验证码,首先添加一个Beanshell取样器,然后在脚本输入以下
jmeter登录时对图片验证码的处理_第4张图片

import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import org.apache.commons.lang3.StringUtils;

String host = "xxxxxxxxx"; //服务器地址
int port = xxxx; //端口号
String password = "xxxxxx"; //redis密码
int index = x; //redis db,
String key = "xxxxxxxxxx"; //key值

Jedis jedis = new Jedis(host, port);
if(StringUtils.isNotBlank(password)){
jedis.auth(password);
}
jedis.select(index);
String value= jedis.get(key);
vars.put("value",value); //获取的value值可以直接当全局变量使用

4.最后添加http请求,登录时验证码传参直接引用value即可
jmeter登录时对图片验证码的处理_第5张图片

你可能感兴趣的:(jmeter,java,redis)