Jmeter识别登录验证码_使用百度AI图片识别技术

作者: lhlaishui 分类: 成长之路 发布时间: 2022-05-27 16:24

一、环境准备
1.下载并引用以下Jar包
1、java-sdk-4.10.0.jar:百度AI图片识别技术//百度云AI技术,可以识别图片上的文字,数字等信息,也可以从网络输入流中获取信息
下载地址:https://download.csdn.net/download/qq_38071435/10932355
2、test-0.0.1-SNAPSHOT.jar:封装的获取图片验证码的工具类//利用JMeter的BeanShell 取样器获取验证码,可以获取简单的图片验证码。

2.将下载的jar包放至Jmeter中的lib目录中即可使用
二、使用步骤
1.在获得验证码的请求后使用
在获取验证码的请求后,添加BeanShell后置处理器,提取并识别验证码

import java.io.*;
import code.GetCode;
//保存图片路径,使用的Jmeter文件所在的相对路径
String FileDir = FilenameUtils.getFullPathNoEndSeparator(GuiPackage.getInstance().getTestPlanFile());
DownFileDir = FileDir + "\\VerfCode";
String imgPath = DownFileDir+"/Verificationcode_"+key+".jpeg"; //验证码图片保存的文件

byte[] responseBody = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
File imageFile = new File(imgPath);
OutputStream out = new FileOutputStream(imageFile);
out.write(responseBody);
out.flush();
out.close();


String code=GetCode.getCode(imgPath);
vars.put("Verifcode",code);在这里插入代码片

2.识别准确性
图片识别的准确性达不到100%,因此可以增加判断:
1、提取登录响应返回结果中的type
系统实现:如果验证码输入失败,登录请求返回值中的type为2

2、增加While控制器:
当登录请求返回的type为2时(即验证码输入错误的情况下),继续执行获取验证码、登录的请求,直至不再返回验证码输入错误

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注