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

news/2024/12/25 14:21:04/

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/news/1558014.html

相关文章

Django 模型字段类型详解

在 Django 中,模型是应用程序的核心部分之一。它们是 Python 对象,用于映射数据库表。每个模型都由一系列字段组成,这些字段代表数据库表中的列。Django 提供了丰富的字段类型,用于定义模型字段,以满足各种数据存储需求。 © ivwdcwso (ID: u012172506) 1. CharField Cha…

iPhone通话记录生成器,苹果一键生成通话记录,手机ios制造专家

因为苹果手机系统是闭环的,封闭的,所以没有苹果版ios的。铁牛通话记录生成器(tieniusoft),只有安卓手机才能使用的。操作方法,见下图。 第(1)步:批量复制粘贴&#xff0c…

Unity录屏插件-使用Recorder录制视频

目录 1.Recorder的下载 2.Recorder面板 2.1常规录制属性 2.2录制器配置 2.2.1添加录制器 2.2.2配置Input属性 2.2.3配置 Output Format 属性 2.2.4配置 Output File 属性 3.Recorder的使用 3.1录制Game View视频 3.1.1Recorder配置与场景搭建 3.1.2开始录制 3.1.3…

事务管理在系统开发Spring提供事务管理机制

分类 主要分为编程式事务和声明式事务两种。 编程式事务 是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: java try {//TODO somethingtransactionManager.commit(status); } catch (Exception e) {transactionManager.rollback(status);thr…

Vue框架入门

Author:Dawn_T17🥥 目录 什么是框架 一.Vue 的使用方向 二.Vue 框架的使用场景 (TIP)MVVM思想 三.Vue入门案例 TIP:插值表达式 四.Vue-指令 (1)v-bind 和 v-model (2&…

C++ 23版的最新特性

C 23 是 C 编程语言的最新标准版本,于 2023 年正式发布,带来了诸多新特性与改进,以下是一些主要内容: 1.语言特性 1.显式对象参数(Deducing this):显式对象参数(Deducing this&…

蓝桥杯刷题——day9

蓝桥杯刷题——day9 题目一题干解题思路一代码解题思路二代码 题目二题干解题思路代码 题目一 题干 小蓝最近在研究一种浮点数的表示方法:R格式。对于一个大于0的浮点数d,可以用R格式的整数来表示。给定一个转换参数n,将浮点数转换为R格式整…

【HTML】动态闪烁圣诞树+雪花+音效

效果展示 使用方法&#xff1a; 1、桌面新建文本文档.txt 2、下述代码复制至文本文档中 3、修改t后缀txt修改为html 4、双击点开 完整代码自取 <!DOCTYPE html> <html lang"en" ><head><meta charset"UTF-8"><title>M…