Jmeter使用tesseract识别图片验证码

准备

  1. 将tess4j-3.4.8.jar 文件复制到jmeter的 lib/ext 文件夹下

链接:百度网盘 请输入提取码

提取码:5suc

  1. 解压Tess4J-3.4.8-src.zip文件,将文件中的 Tess4J/lib 文件夹的jar包复制到jmeter的lib 文件夹下(注意:如果文件夹下已存在可以不需要复制)

https://download.csdn.net/download/radar333/88629544icon-default.png?t=N7T8https://download.csdn.net/download/radar333/88629544

3、解压后的 Tess4J\tessdata 文件夹,放到自己需要使用的文件目录,后面代码会使用到

识别方法

方法1:验证码让程序员帮忙处理,写死固定的验证码

方法2:通过图片识别(本文主要说明该方法)

使用

打卡Jmeter,创建线程组和请求,这里已获取验证码接口为请求,添加后置处理器,后置处理器填写如下代码

后置处理器脚本:


import java.io.*;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;

String projectPath = System.getProperty("user.dir");

String imgPath= projectPath + "/project/LX/yanzhengma.jpg";//将验证码保存到本地文件中
byte[] responseBody = prev.getResponseData();
File imageFile = new File(imgPath);
FileOutputStream out = new FileOutputStream(imageFile);
out.write(responseBody);
out.flush();
out.close();


File imageFile1 = new File(imgPath);//读取图片数字
//Tesseract instance = new Tesseract();
ITesseract instance = new Tesseract();
instance.setDatapath(projectPath + "/project/LX/tessdata"); //上面第3步的目录
instance.setLanguage("eng");//英文库识别数字比较准确
content = instance.doOCR(imageFile1).replace("\n", "");
content = content.replace(" ", "");
log.info("---content:" + content);
vars.put("yanzhengma",content);

执行测试

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值