Jmeter对图片验证码的处理【超详细】

ops/2024/12/24 11:06:17/

Jmeter对图片验证码的处理

在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用;

通过jmeter对图片验证码的识别方法

1、通过ocrserver工具识别图片验证码;

网盘下载ocrserver工具

如下图:解压后双击OcrServer.exe;然后电脑的右下角会显示该服务的IP和端口

2、在jmeter中发送获取该验证码图片的接口;如下图

3、在获取验证码图片的接口下面添加监听器》保存响应到文件;如下图:

4、再取样器中再添加JSR223 Sampler;注释一下该取样器是把图片转换成base64格式;并编写代码;如下图:

  1. SampleResult.setIgnore();

  2. import java.io.*;

  3. import org.apache.commons.codec.binary.Base64;

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

  5. byte[] data = null;

  6. try {

  7. InputStream in = new FileInputStream(image);

  8. data = new byte[in.available()];

  9. in.read(data);

  10. in.close();

  11. } catch (IOException e) {

  12. e.printStackTrace();

  13. }

  14. Base64 base64=new Base64();

  15. vars.put("base64",base64.encodeToString(data));

  16. //return image;

5、在添加一个HTTP请求,用来调用OcrServer工具,IP地址为127.0.0.1,端口为12349,post请求,在body中引用base64;如下图:

6、在验证码识别请求下再添加一个json提取器;把识别到的图片验证码的字段提取出来;如下图:识别图片验证码的字段为json格式;如下图

在json提取器中通过jsonpath方法提取出code的值

7、验证提取的字段是否和图片验证码上的字段一致;如下图:

8、通过第7步可以看到正确的提取出了验证码字段,然后在登录的接口调用image_code即可;

 


http://www.ppmy.cn/ops/144551.html

相关文章

0101多级nginx代理websocket配置-nginx-web服务器

1. 前言 项目一些信息需要通过站内信主动推动给用户,使用websocket。web服务器选用nginx,但是域名是以前通过阿里云申请的,解析ip也是阿里云的服务器,甲方不希望更换域名。新的系统需要部署在内网服务器,简单拓扑图如…

C语言指针与数组深入剖析及优化示例 指针解读 数组与指针的关系

说明: 这是个人对该在Linux平台上的C语言学习网站笨办法学C上的每一个练习章节附加题的解析和回答 ex14: 重新编写这些函数,使它们的数量减少。比如,你真的需要can_print_it吗? if(isalpha(ch) || isblank(ch)) {p…

Matlab个性化绘图第6期—带标记面的三维折线图

带标记面的三维折线图本质上就是多组折线图: Matlab论文插图绘制模板第92期—折线图(Plot) 或者三维折线图: Matlab论文插图绘制模板第37期—三维折线图(plot3) 不同之处在于带标记面的三维折线图把每一组数据单独放在一个三维平…

【多模态聚类】用于无标记视频自监督学习的多模态聚类网络

Multimodal Clustering Networks for Self-supervised Learning from Unlabeled Videos 用于无标记视频自监督学习的多模态聚类网络 0.论文摘要 多模态自监督学习越来越受到关注,因为它不仅允许在没有人工监督的情况下训练大型网络,还允许跨各种模态搜索…

致命错误: Class ‘ZipArchive‘ not found

银河麒麟V10处理 本人在安装过程遇到的坑,就是不要使用太低版本的 1、安装cmake 确认是否安装 cmake --version 如果没安装的话按照如下步骤处理下(如果想要其他版本点击cmake官网下载) wget https://github.com/Kitware/CMake/release…

基于DockerCompose搭建Redis主从哨兵模式

linux目录结构 内网配置 哨兵配置文件如下,创建3个哨兵配置文件 # sentinel26379.conf sentinel26380.conf sentinel26381.conf 内容如下 protected-mode no sentinel monitor mymaster redis-master 6379 2 sentinel down-after-milliseconds mymaster 60000 s…

利用Java爬虫获取苏宁易购商品详情

在数字化时代,电商平台的商品信息对于市场分析、价格监控和消费者决策至关重要。苏宁易购作为中国领先的电商平台之一,提供了丰富的商品信息。本文将介绍如何使用Java语言开发爬虫,获取苏宁易购商品的详细信息。 Java爬虫技术简介 Java作为一…

ECharts中通过饼图(type为pie)绘制出仪表盘进度条

在ECharts中,可以通过多个饼图系列(series)来实现仪表盘形式的进度条,如下图,需要通过以下几个饼图组合来完成。 一个饼图用于进度条背景底色(未完成部分);一个饼图用于进度条颜色&…