Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码

这篇具有很好参考价值的文章主要介绍了Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

正文

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

我总感觉它在向我说:来呀,你来呀!

我想了想,好吧…,那我试一下。

一、测试步骤

1、使用tess4j编写验证码图片识别方法

2、编写jmeter测试脚本:

包括获取验证码接口、响应的验证码图片保存、验证码图片识别、获取手机验证码请求接口等这几个重要步骤的编写

3、进行Jmeter验证码图片识别,获取手机验证码

4、接口压力测试

二、使用tess4j实现验证码图片识别

打开Eclipse,新建一个java项目,项目中添加tess4j的jar包,以及tessdata等文件。

代码完成的功能为,输入验证码图片的路径,输出验证码图片的识别结果,结果是一个字符串类型

具体代码如下,注释中已经对每一行代码进行了讲解,主要是为了提高图片字符识别的准确率。

大概的图片识别处理步骤是:设置字符的识别方式是英文和数字,将图片按区域识别每一个字符,把每一个字符截取下来,做灰度处理以及锐化,并且把这个字符对应区域的图片放大。最后识别这个经过处理的图片。

package qingkeCode;

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.imageio.ImageIO;

import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import net.sourceforge.tess4j.util.ImageHelper;
import net.sourceforge.tess4j.util.LoadLibs;

public class PicToData {

/*public static void main(String []args){
for (Integer i=1; i<44; i++){
System.out.println(GetData(i.toString()));
}

}*/
public static String GetData(String picPath) {
File file = new File(picPath);
Tesseract instance = new Tesseract();
//设置tess配置的路径
File testDataFolderFile = LoadLibs.extractTessResources(“tessdata”);
//设置识别的方式为英文和数字
instance.setLanguage(“eng”);
//加载配置
instance.setDatapath(testDataFolderFile.getAbsolutePath());
// 将验证码图片的内容识别为字符串
String result = “”;

//对每一个字符单独识别
for (int i = 1; i < 5; i++) {
String c = “”;
try {
c = instance.doOCR(change(file, i));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (c.length()>0){

}
if (c.length()>0){
result += c.substring(0, 1);
}

}
return result;
}

public static BufferedImage change(File file, int i) throws Exception {

// 读取图片字节数组
BufferedImage textImage = null;
try {
InputStream in = new FileInputStream(file);
BufferedImage image = ImageIO.read(in);
//包括左右的空白处,分为6个区域
int subWidth = image.getWidth() / 6;

//截取第i个字符的图片,并将图片灰度化
textImage = ImageHelper.convertImageToGrayscale(ImageHelper
.getSubImage(image, subWidth * i, 0, subWidth+3,
image.getHeight())); // 对图片进行处理
//图片锐化
textImage = ImageHelper.convertImageToBinary(textImage);

//放大图片,放大的倍数为5倍
textImage = ImageHelper.getScaledInstance(textImage,
textImage.getWidth() * 5, textImage.getHeight() * 5); // 将图片扩大5倍

} catch (IOException e) {
e.printStackTrace();
}
//返回识别后的单个字符的值
return textImage;
}
}

编写好以上代码后,简单测试一下接口是否可用。结果如下,说明接口可用,将main函数注释

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

然后将项目导出为Jar

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

导出时设置以下选项,并且直接将jar包导出到Jmeter的ext路径下

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

三、jmeter编写测试脚本

1、Jmeter中测试java验证码识别接口可用

新建测试计划,在测试计划中将jar包qingkeCode.jar添加进来。

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

添加BeanShell Sample,编写以下脚本,脚本的功能为导入jar包,并且识别路径“D:\code\vcode_src\8.jpeg”中的图片验证码的值。并且把值保存到了变量vcode中。

import qingkeCode.*;
String code = “D:\code\vcode_src\8.jpeg”;
String d = PicToData.GetData(code);
vars.put(“vcode”,d);

添加Debug Sample和察看结果树,以便观察运行结果。

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

运行脚本,察看运行结果。结果没有报错,并且输出了路径“D:\code\vcode\8.jpeg”中的图片验证码的值,说明Java接口可以调用。

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

2、查看接口:使用F12开发者工具,查看http请求的流程,可以得到两个需要的相关接口
获取验证码图片的GET请求,请求参数“d”是一个以毫秒为单位的时间戳

http://www.qk365.com/security/captcha.do?d=1527660630370

还有一个接口是发送手机验证码的POST请求接口,包括请求头和请求体

// 请求头
http://www.qk365.com/security/sendMobileCode.do

// 请求体,captcha为图片验证码的值,func为请求接口,mobile为手机号
captcha=DYJE
func=register
mobile=18569845214

编写获取验证码的http请求

Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

返回如下消息表示请求接口编写成功

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码,2024年程序员学习,压力测试,jmeter

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-ZxWhksWR-1713140155562)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!文章来源地址https://www.toymoban.com/news/detail-855300.html

到了这里,关于Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter接口测试+压力测试

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/w

    2023年04月16日
    浏览(47)
  • JMeter接口测试及接口登陆压力测试

    或上方链接下载 脚本: https://mp.csdn.net/mp_download/manage/download/UpDetailed 查看别的博主内容时发现了个开放的API,可以作为练习使用 https://wanandroid.com/blog/show/2 操作步骤 1.启动jmeter 2.在\\\"测试计划\\\"下添加\\\"线程组\\\" 3.在\\\"线程组\\\"下添加\\\"HTTP请求\\\"取样器 4.填写\\\"HTTP请求\\\"的相关请求数据

    2023年04月08日
    浏览(36)
  • Jmeter接口测试与压力测试

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号:互联网杂货铺,回复1  ,免费获取软件测试全套资料,资料在手,涨薪更快 Jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简

    2024年04月23日
    浏览(43)
  • 压力测试+接口测试(工具jmeter)

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年01月17日
    浏览(56)
  • jmeter接口测试、压力测试简单实现

    测试计划—线程组—配置元件—前置处理器—定时器—逻辑控制器—取样器—后置处理器—断言—监听器 组件的作用范围: 同级组件 同级组件下的子组件 父组件 1、基于webservice协议接口,通过xml传输数据 2、基于dubbo协议接口,通过json传输数据 3、基于http协议接口,通过

    2024年02月15日
    浏览(48)
  • Jmeter接口测试与压力测试详解

     jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 lin

    2024年01月19日
    浏览(52)
  • 如何用jmeter做接口测试、压力测试?

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年02月03日
    浏览(46)
  • 全网最新最全的jmeter接口测试,压力测试

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年04月09日
    浏览(52)
  • jmeter入门:接口压力测试全解析

    1.添加线程组(参数上文有解释 这里不介绍) 2.添加取样器 不用解释一看就知道填什么。。。 3.添加头信息(否则请求头对不上) 也不用解释。。。 4.配置监听器 可以尝试使用这几个监听器。 样本:请求数 平均值:请求结果返回的平均时间 异常:没有收到的返回百分比

    2024年02月12日
    浏览(43)
  • 接口压力测试 jmeter--增强篇(二)

    下载Jmeter Plugins Manager对插件进行管理 (1)下载地址:https://jmeter-plugins.org/install/Install/ (2)下载后,将jar包放到jmeter包目录下/lib/ext目录下 (3)重启Jmeter,点击【选项】,就能看到插件管理器了 直接插件下载 JMeterPlugins-Standard.jar和JMeterPlugins-Extras.jar,存放到/apache-jmeter-5.6

    2024年04月28日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包