jmeter进阶——获取图形验证码

实现的方式:通过接口把图形验证码保存到本地,然后对图片进行转base64,最终从转码之后的结果中提取验证码需要使用工具OcrServer尽心识别
提取码:kha6

一、开启工具OcrServer
二、把图形验证码保存到本地
添加http请求(验证码图片的请求)
在请求下添加一个监听器【保存响应到文件】
在这里插入图片描述
【保存响应到文件配置】
在这里插入图片描述
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
文件名称前缀:设置响应文件所在路径(路径必须已存在)和文件前缀
Save Failed Responses only:只保存失败的响应
Save Successful Responses only:只保留成功的响应
Don’t add number to prefix:不添加数字到文件名前缀
Don’t add suffix:不添加文件后缀,即扩展名(注:默认情况下,jmeter会根据服务器返回的结果自动生成合适类型的文件,比如服务器返回json格式的内容,jmter会自动生成.json文件)
Add timestamp:添加时间戳到文件前缀
Minimum Length of sequence number :最小序列号,不填默认从1开始。
三、添加取样器【JSR223 Sampler】进行base64转码
在这里插入图片描述

SampleResult.setIgnore();

import java.io.*;
import org.apache.commons.codec.binary.Base64;

String image=vars.get("png");

byte[] data = null;

try {
	InputStream in = new FileInputStream(image);
	data = new byte[in.available()];
	in.read(data);
	in.close();

} catch (IOException e) {
	e.printStackTrace();
}

Base64 base64=new Base64();
vars.put("base64",base64.encodeToString(data));
//return image;

四、把转码后的变量作为参数做http请求,
在这里插入图片描述
五、http请求下添加json提取器提取出我们想要的验证码
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐