主要学习的内容包括发送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”完成请求头的复制
3、在线程组中添加HTTP请求,请求的请求体为图下内容
4、线程组添加察看树,点击启动按钮,查看请求结果
5、为响应结果添加断言,只有响应结果中包含"msg":"短信发送成功"的响应数据,这个请求才算是成功
Jmeter请求接口参数化
模拟5个用户执行以上的测试过程,我们发现只有第一次是成功的,其余的返回"msg":"短信验证码发送过于频繁"
发现原来是每个请求的请求手机号是一样的,导致失败
这时候可以使用配置元件,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验证码注册接口压力测试实战 | 下一篇 |
---|