Jmeter验证码图片识别注册接口压力测试实战_jmeter 接口测试 登录验证是前端返回的svg格式

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

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

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

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

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

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

//图片锐化
textImage = ImageHelper.convertImageToBinary(textImage);

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

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

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

图片

然后将项目导出为Jar

图片

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

图片

三、jmeter编写测试脚本

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

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

图片

添加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和察看结果树,以便观察运行结果。

图片

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

图片

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请求

图片

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

图片

3、保存验证码图片并识别验证码

验证码图片会保存在路径“D:\code\vcode_src\”路径下,文件名会以1到n的顺序增长

图片

这里先测试一下运行一次的情况,参数如下

图片

运行结果,说明返回的验证码图片进行了识别。后续只需要用这个识别的验证码进行获取手机验证码的请求就可以了。

图片

图片

4、编写获取验证码请求脚本

获取手机验证码时要带上cookies和获取图片验证码返回的session值,这样才能成功。要问这一点我怎么知道的,是因为在编写脚本时发现没有带这个值,或者这个值是错的会返回错误信息,然后根据经验,看到的~

获取手机验证码脚本如下,其中${vceode}是验证码图片识别中得到的。

图片

添加cookie请求头把浏览器的值拷贝放入即可

图片

图片

使用正则表达式,在获取验证码图片中添加后处理,取出session,将取出的session放入获取手机验证码的请求头中

获取session

图片

session放入获取手机验证码请求头中

图片

5、执行脚本

最后执行脚本,结果如下。后期可以自己配置线程组中的参数进行接口压力测试。

图片

五、接口压力测试

添加计数器,计算器的值就是图片名称

图片

最后需要保证每次请求的手机号码不同,和上篇博文一样使用CSV的方式设置请求的电话号码

写在最后

目前的图片失败率还是有误差的,也许经过图片训练可以提高识别率。关于训练这方面的知识,自己也只是了解一点点。还需要继续学习吧。

这个网站的注册模块有二个问题:

一是:验证图片有点简单,一般的图片识别工具就能完成对验证码的识别

二是:界面控件的摆放顺序不够合理,个人认为应该把手机号输入框放在前面

以上,希望看到这里能对你有所收获


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

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

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

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

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值