Jmeter对图片验证码的处理

2023-09-21 14:45:53

jmeter对图片验证码的处理

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

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

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

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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;

在这里插入图片描述

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

在这里插入图片描述

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

识别图片验证码的字段为json格式;如下图

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

更多推荐

如何通过百度SEO优化提升网站排名(掌握基础概念,实现有效优化)

随着互联网的发展,搜索引擎优化(SEO)成为了网站优化中不可或缺的一部分。在中国,百度搜索引擎占据着主导地位,因此掌握百度SEO概念和优化技巧对网站的排名和曝光非常重要。百度SEO排名的6个有效方法:首先是关键词研究。通过深入了解目标用户的搜索习惯和需求,选择合适的关键词并进行优化;其次是页面优化,蘑菇号https:/

初步了解华为的MTL(市场到线索)流程的基本概念和来龙去脉

前两天,有读者给华研荟发私信,说在学习华为资料的时候看到华为有一个MTL流程,想了解下这个MTL流程和LTC流程有什么区别?既然有了LTC流程,为什么还要MTL流程呢?为此,今天华研荟给大家简要介绍华为的MTL流程,也是非常重要的一个业务流程。如华研荟前面的文章中所提到的,华为认为一个企业运作的主业务主流程就三个:IP

3-D HANet:一种用于目标检测的柔性三维 HeatMap 辅助网络

论文背景室外场景感知使用Lidar:1.点云数据不受天气(雾、风暴、雨和雪)的影响,支持稳定的环境感知;2.点云数据在很大程度上保留了原来中物体的空间结构特征。3D目标检测是室外场景感知的重要组成部分。从一个不完整的点云空间结构中学习目标的完整尺寸和准确定位是三维目标检测的关键。空间结构不完整:受传感器、遮挡、物体材质

华为云云耀云服务器L实例评测|centos7.9在线使用cloudShell下载rpm解压包安装mysql并开启远程访问

文章目录⭐前言⭐使用华为cloudShell连接远程服务器💖进入华为云耀服务器控制台💖选择cloudShell⭐安装mysql压缩包💖wget下载💖tar解压💖安装步骤💖初始化数据库💖修改密码💖开启远程账号访问💖安全组开放3306端口💖本地navicat连接⭐总结⭐结束⭐前言大家好,我是yma16,

C++之va_start、vasprintf、va_end应用总结(二百二十六)

简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀人生格言:人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.更多原创,欢迎关注:Android系统攻城狮1.前言本篇目的:C++之

第33章_瑞萨MCU零基础入门系列教程之DHT11温湿度获取实验

本教程基于韦东山百问网出的DShanMCU-RA6M5开发板进行编写,需要的同学可以在这里获取:https://item.taobao.com/item.htm?id=728461040949配套资料获取:https://renesas-docs.100ask.net瑞萨MCU零基础入门系列教程汇总:https://b

【ELFK】之zookeeper

一、Zookeeper是什么?zooleeper是一个分布式服务管理框架。存储业务服务节点元数据及信息,并复制;通知客户端在zookeeper上注册的服务节点状态,通过文件系统+通知机制1、Zookeeper工作机制Zookeeper从设计模式角度来理解是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家

8位单片机的优势:永不过时的选择

被广泛应用于各种智能化设备中,8位单片机以其独特的优势,成为了许多应用场景的首选。为什么它们在今天仍然具有重要的应用价值?一、8位单片机的优势:(1)成本效益8位单片机由于其制造成本相对较低,因此价格相对较为亲民。这意味着使用8位单片机可以降低整个产品的成本,提高市场竞争力。(2)可靠性高8位单片机经过多年的发展和优化

c++:三种实例化对象方式

1.隐式创建首先我们定义一个测试类classPerson{private:intage;stringname;public:Person(){cout<<"thisisconstruct~";}Person(intage,stringname){this->age=age;this->name=name;cout<<"

Django之初入门

一)Django简介1.简介Django是一个开源的PythonWeb框架,它以简洁高效的方式帮助开发者构建复杂的Web应用程序。Django采用了MVC(Model-View-Controller)的架构模式,通过强大的工具和功能,提供了一套完整的解决方案,使开发过程更加简单、快速和可扩展。Django拥有丰富的内置

安科瑞电流隔离传感器 BA穿孔交流电流变送器-安科瑞黄安南

一.产品原理和功能介绍BA系列产品应用电磁感应原理,对电网中的交流电流进行实时测量,采用精密恒流技术和线性温度补偿技术,将其隔离变换为标准的直流信号输出采用24伏或12伏安全电压供电,具有过载能力强、高精度、高隔离、高安全性、低功耗等特点,可广泛用于工业自动化领域。可以选配真有效值,也可以对漏电流进行实时测量.BA系列

热文推荐