Jmeter验证码注册接口压力测试实战

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter验证码注册接口压力测试实战相关的知识,希望对你有一定的参考价值。

参考技术A 主要学习的内容包括发送HTTP请求、HTTP信息头管理器、HTTP cookies管理器、用户定义的变量、响应断言、CSV数据文件设置的使用。

提供的测试网址为: http://www.qk365.com/security/register

使用Chrome浏览器,先将浏览器的cookies缓存清空。

清空后,打开待测试的网址,按F12键,输入要注册的手机号码,如“18300987622”,点击“发送验证码”,可以看到请求的接口为: http://www.qk365.com/security/smsCode.do ,请求的参数为json格式的数据:"mobile":"18300987622","func":"register","isValidate":"1","memKey":"register-18300987622","memValue":"7F4BEC3A-BE2F-48C7-91ED-33887E186C87",在知道接口后,就可以开始我们的接口测试了。

默认环境已经有的条件下(这里不对jmeter运行环境如何搭建做过多的描述,请自行上网查找环境搭建的相关资料),双击jmeter.bat。出现如下界面设置工具的显示语言,Options→Chose Language→Chinese

完成上述步骤后,创建HTTP请求,包括:HTTP请求头,HTTP请求体以及察看结果树
1、在测试计划中添加线程组
2、在线程组中添加配置元件,HTTP信息头管理器,将刚才注册页面的请求头选中并且复制,在HTTP信息头管理器中单击“Add from Clipboard”完成请求头的复制

3、在线程组中添加HTTP请求,请求的请求体为图下内容

4、线程组添加察看树,点击启动按钮,查看请求结果

5、为响应结果添加断言,只有响应结果中包含"msg":"短信发送成功"的响应数据,这个请求才算是成功

模拟5个用户执行以上的测试过程,我们发现只有第一次是成功的,其余的返回"msg":"短信验证码发送过于频繁"

发现原来是每个请求的请求手机号是一样的,导致失败

这时候可以使用配置元件,CSV数据文件设置每次请求的手机号是不同的,在这里我准了一份手机号码的excel文件,需要注意的是保存这个文件的时候要保存成.CSV格式的,这里我将这份文件放到jmeter的examples目录下

在CSV数据文件配置中填写如下信息,然后修改验证码接口中HTTP请求的请求体,最后再执行一次,发现每次请求使用的手机号是不同的,并且请求成功

修改线程组参数,添加聚合报告等,对接口进行压力测,这里可以把察看结果树禁用了,因为在请求很多的情况下,会影响工具性能。最后等结果

需要注意的是启动jmeter.bat提示的那段话,压力测试要用非界面模式,界面模式用来生成脚本,调试没有问题了,再进行非界面的压力测试

这部分内容网上能查询包相关信息,这里不进行讲解。

这个平台可以频繁的刷验证码接口,这本身就是一个bug。前端的滑动验证功能就是形同虚设的。

如果你看到这里,希望你能看一下这一篇博文 Jmeter验证码图片识别注册接口压力测试实战 ,希望对你有所收获

记jmeter接口测试动态获取验证码

在用jmeter做接口测试时,需要动态的获取验证码,以便在登录成功后可以获取token,但是在测试的过程中,遇到了一个问题,想在这里给大家分享一下:

  1. 环境描述     在获取验证码的http请求下加后置处理器jp@gc - JSON/YAML Path Extractor
  2. jp@gc - JSON/YAML Path Extractor错误的匹配规则:$..data.code,获取的结果中出现一些乱码,可能是“”,按照规则查询时是可以查询到的

技术图片

3. jp@gc - JSON/YAML Path Extractor错误的匹配规则:$.data.code,获取的结果正确,按照规则查询时结果和上面的相同

技术图片

4.  结果比较

技术图片

从上面的对比来看,规则查询的结果一致,但实际结果是不一致的

如果用JSON Extractor不会出现上述的错误。

 

 

以上是关于Jmeter验证码注册接口压力测试实战的主要内容,如果未能解决你的问题,请参考以下文章

JMeter接口压力测试课程入门到高级实战(目录)

JMeter接口压力测试课程入门到高级实战教程(详情)

Jmeter—实现识别验证码登录

JMeter深入进阶性能测试体系,接口性能测试,各领域企业实战

利用jmeter进行压力测试

全网火爆,Jmeter性能场景设计 - 压力负载测试性能场景+分析性能指标