本篇文章给大家谈谈接口 压力测试,以及接口压力测试方案对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享接口 压力测试的知识,其中也会对接口压力测试方案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
JMeter简单的接口压测实战
一、在JMeter界面进行测试
需要测试的接口: /api/firm/search
1、添加线程组 Thread Group
2、简单配置参数
3、添加http请求的默认值(为了方便)
配置基本信息,后面的http请求可以直接用,不用重复写了
4、添加http请求
5、为了查看结果,添加监听器
7、聚合报告中各字段说明
8、英文看着不习惯的朋友这么换成中文的
9、图形结果的话,如果线程数设置太小,就会看不出啥,把第二步中设置的并发数改成100你试试,就有曲线了。
二、命令行压测
1、将之前的 JMeter 中设置的整个测试计划存储为 jmx 格式。
2、开始开始
终端先进入你jmx文件存在的路径
输入: jmeter -n -t 你上一步存的那个名字.jmx -l 这是测试结果文件.jtl
参数说明:
4、也可以看web版的报告
终端输入: jmeter -g TestReport.jtl -o WebReport
参数说明:
5、成功后,你看你选择的存放路径 Desktop/test ,里面就有 index.html ,打开即可查看报告。
Jmeter验证码注册接口压力测试实战
主要学习的内容包括发送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验证码图片识别注册接口压力测试实战 ,希望对你有所收获
接口测试注意的点
接口测试作为集成测试的一部分,通过直接调用被测试的接口来确定系统在功能性、可靠性、安全性和性能方面是否能达到预期,有些情况是功能测试无法覆盖的,所以接口测试是非常必要的。
接口测试分为两种,一种是webservice接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,测试时通过工具soapUI进行测试。使用情况比较少
接口 压力测试;另一种http api接口,走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求。
get请求和post请求的区别在哪里呢
接口 压力测试?网上的答案为
接口 压力测试:
1、get请求可以在浏览器中请求到,post请求的测试需要借助工具
2、get请求使用url和cookie传参,post的数据放在body中
3、post比get更安全,因为传递的参数在url上是看不到的
4、get请求的url会有限制,而post请求的数据可以非常大
5、一般get请求是来获取数据,post请求是传递数据的
其实,对于现在飞速发展的 互联网来说,上面的说法已经不严谨了。首先,post请求的参数也可以写在url里,但是这种情况不多见;其次表面上看起来,post利用body传参,比get的url传参安全,但其实只要用抓包工具(fiddler,Charles等),post的参数也是一览无余;再次,现在的浏览器非常强大,可以输入支持很长的URL,所以也不再有限制一说了。这么说来,种种区别只有最后一条是最根本的了。
怎么来测试接口呢?根据什么来测呢?这就需要开发提供的接口文档了,接口文档和功能测试的需求说明书的功能是一样的。包括:接口说明、调用的url,请求方式(get or post),请求参数、参数类型、请求参数说明,返回结果说明。这里接口文档生成可以使用apipost接口文档生成工具。有了接口文档后,
接口 压力测试我们就可以设计用例了,一般接口测试的用例分为以下几种:
1、通过性验证,说白了就是传递正确的参数,是否返回正常的结果
2、参数组合,因为参数有必传和非必传,参数的类型和长度,以及传递时可能业务上的一些限制,所以在设计用例时,就要排列组合这些情况,保证所有情况都能覆盖到
3、接口的安全性,这个又分为几种情况:
1)绕过验证,比如提交订单时,在传递商品价格参数时,修改商品价格,就要看后端有没有验证了。或者我支付时,抓个包将订单金额一改,如果能以我改后的金额支付,那这个借口就有问题了。
2)绕过身份验证,就是某个功能只有有特殊权限的用户才能操作,那我传递一个普通的用户,是不是也能操作呢
3)参数是否加密,这个关系到一些账户的安全,比如我们在登录一些网站时,它要将我们的登录信息进行加密,如果不加密我们的信息就会暴露,危害性极大。
4) 密码安全规则,设置密码时复杂程度的校验。
4、根据业务逻辑来设计用例
用例设计完了,用什么来测试接口呢?我们可以借助一些工具,比如apipost和jmeter。apipost使用比较简单,可以在列表中选择请求方式,在输入框中输入URL,如果是get请求,直接点击发送就可以看返回结果了。
如果是post请求,会涉及到几种参数的上传方式和添加请求头、权限验证还有添加cookie等操作。apipost都可以简单实现
还有一种测试接口的工具是jmeter,用途比较广泛,不但能测接口的功能,还能对接口进行性能测试。比如:压力测试、负载测试等。在jmeter中需要创建线程组,如图:
Apipost官方链接: https://console.apipost.cn/register?utm_source=10008
关于接口 压力测试和接口压力测试方案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
接口 压力测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口压力测试方案、接口 压力测试的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~