美文网首页性能,压力我爱编程测试工具
Jmeter验证码注册接口压力测试实战

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

作者: 西西的博客 | 来源:发表于2018-05-20 14:17 被阅读0次

主要学习的内容包括发送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进行http post请求接口测试

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


设置工具语言

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


复制请求头 请求头添加到HTTP信息头管理器

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


请求体 填写HTTP POST请求

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


执行结果察看

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


响应断言

Jmeter请求接口参数化

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


模拟5个用户 结果查看

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


手机号码重复

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


手机号码文件

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


配置填写 修改请求体 请求结果

Jmeter请求接口压力测试

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


设置线程组参数

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

May 22, 2018 9:42:40 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================

Jmeter报告生成

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

写在最后

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


2018/06/04

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

上一篇 Jmeter验证码注册接口压力测试实战 下一篇

相关文章

网友评论

    本文标题:Jmeter验证码注册接口压力测试实战

    本文链接:https://www.haomeiwen.com/subject/kettjftx.html