Jmeter对图片验证码的处理

Jmeter对图片验证码的处理

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

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

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

网盘下载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即可;

相关推荐
测试199832 分钟前
单元测试、系统测试、集成测试的区别是什么?
自动化测试·软件测试·测试工具·单元测试·测试用例·集成测试·安全性测试
程序员三藏33 分钟前
Selenium无法定位元素的几种解决方案
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
前端小趴菜~时倾35 分钟前
自我提升-python爬虫学习:day04
爬虫·python·学习
小罗和阿泽36 分钟前
接口测试系列 接口自动化测试 pytest框架(三)
开发语言·python·pytest
小陈的进阶之路2 小时前
postman/apifox接口测试
测试工具·postman
llilian_162 小时前
IRIG-B码产生器立足用户痛点,提供精准授时解决方案
大数据·数据库·功能测试·单片机·嵌入式硬件·测试工具
猿界零零七8 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
不只会拍照的程序猿10 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin10 小时前
Quarto与Python集成使用
开发语言·python·markdown
Oueii11 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python