Jmeter(二十):jmeter对图片验证码的处理(超详细)

jmeter对图片验证码的处理

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

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

华测教育软件测试进阶全套视频教程(2023全网最新版,软件测试进阶自学必备)

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

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

网盘下载ocrserver工具

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第1张图片

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第2张图片

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第3张图片

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第4张图片

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;

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第5张图片
5、在添加一个HTTP请求,用来调用OcrServer工具,IP地址为127.0.0.1,端口为12349,post请求,在body中引用base64;如下图:

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第6张图片

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

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第7张图片

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第8张图片

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第9张图片

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

Jmeter(二十):jmeter对图片验证码的处理(超详细)_第10张图片

写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 


 

你可能感兴趣的:(jmeter,软件测试,自动化测试,压力测试,测试工具,测试工程师)