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

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

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

一、开启工具OcrServer
二、把图形验证码保存到本地
添加http请求(验证码图片的请求)
在请求下添加一个监听器【保存响应到文件】
jmeter进阶——获取图形验证码_第1张图片
【保存响应到文件配置】
jmeter进阶——获取图形验证码_第2张图片
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转码
jmeter进阶——获取图形验证码_第3张图片

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请求,
jmeter进阶——获取图形验证码_第4张图片
五、http请求下添加json提取器提取出我们想要的验证码
jmeter进阶——获取图形验证码_第5张图片

你可能感兴趣的:(接口自动化,jmeter)