本篇文章给大家谈谈接口的压力测试工具,以及接口压力测试方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享接口的压力测试工具的知识,其中也会对接口压力测试方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
使用Jmeter进行http接口性能测试
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。
但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具
接口的压力测试工具了,这里推荐功能强大的JMeter自动化测试工具
Apache JMeter - Apache JMeter™
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
下面就以上图的Restful类型的接口为例简单介绍使用Jmeter进行接口测试的方法。
获取某个具体网关设备的基本信息。
请求
方法
接口的压力测试工具:GET
URI:/api/gatewaygateway_id
参数:
在HTTP请求(http request)的头部(header)添加Userid和Token字段作为用户验证字段
响应
返回值:JSON格式的网关信息
参数:
.启动jmeter:在bin下以管理员身份运行jmeter.bat,启动jmeter
2. 创建测试计划:
默认启动jmeter时会加载一个测试技术模板,保存测试计划:修改名称为Apitest,点击保存,选择保存路径,后面的步骤,每次添加或修改了了一些选项,软件并不会自动保存到jmx文件中,所以进行测试后,如果需要保存本次测试选项,要手动到“文件”菜单中保存一下。
3. 添加线程组
右键左边树中的测试计划“Apitest”节点,“添 加”→”Threads”→”线程组”
添加成功后,“Apitest”节点下多了“线程组” 节点,当然这个线程组的名称是可以自己设定的。
4. 添加http默认请求:(用来配置公共参数,不是http请求)
右键线程组,选择“添加”→ “配置元件”→“HTTP请求默认值”,点击“HTTP请求默认值”后
添加成功后,线程组”节点下多了“HTTP请求默认值”节点
这里可以设置主机地址等一下公共参数,比如我们的例子中请求路径前面都是主机地址+index.php,就可以统一在"http请求默认值"里设置
填写默认请求名、服务器、默认请求路径,保存测试计划。
5.添加http请求信息头
这一项并不是必须的,只不过我们的例子中使用了Userid和Token放在HTTP请求头中用作用户验证
右键“Apitest”,选择“添加”→ “配置元件”→“HTTP信息头管理器”
6. 添加http请求
右键“Apitest”,选择“添加”→ “Sampler”→“HTTP请求”
添加成功后,出现新的节点“HTTP请求”,就可以填写具体的请求参数了。
填写完成,保存测试计划
7. 添加监听器:
右键线程组,选择“添加”→“监听器”→“XXXXXXXXX”
可以添加的监听器有很多种,可以添加多个监听器,这里我们添加几个常用的“图形结果”、“察看结果树”、“聚合报告”
添加成功后,“线程组”下增加了几个节点
8. 试运行
点击执行
可以查看各个“监听器”的结果
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Note:关于 50% 和 90% 并发用户数的含义,请参考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
9. 修改线程组的线程数等参数,用于压力测试
点击左侧树形导航中的“线程组”
设置上面几个参数,模拟的总的请求数是:线程数*循环次数。执行一下,用“图形结果”监听器查看一下
样本数目:总共发送到服务器的请求数.
最新样本:代表时间的数字,是服务器响应最后一个请求的时间.
吞吐量:服务器每分钟处理的请求数.
平均值:总运行时间除以发送到服务器的请求数.
中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值.
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布.
常见接口测试工具有哪些?使用哪个好?
1.
主流接口测试工具
接口的压力测试工具:Jmeter、PostMan、RESTClient、Fiddler、Requests库
接口的压力测试工具,不同测试环境不同需求
接口的压力测试工具,选择不同工具。
1).
Jmeter
接口的压力测试工具:Java开发一款开源免费工具
接口的压力测试工具,适合接口功能测试、接口自动化测试、接口压力测试
【推荐】
2).
PostMan:谷歌公司开发的一款工具,分为浏览器插件版和客户端版。
适合开发自测接口、测试调试接口
3).
RESTClient:一款国人开发的火狐浏览器插件,界面简单,支持高亮显示,调试、自测
推荐。
4).
Fiddler:强大的抓包工具,支持接口请求、响应。
5).
Requests库:python语言中一个第三方请求库,使用代码测试接口不二选择。注意:适合python语言
以上内容均来自黑马程序员软件测试课程笔记
压测工具JMeter的使用
性能压测工具,在我们项目开发过程中肯定免不了要经常使用,来检测我们完成的接口或者整体服务的抗压水平。Apache提供了个 ab 命令,可以进行压测功能,只不过功能相对简单,有时候很难满足我们的测试需求。
所以,这里介绍下Apache的另一款压测工具 JMeter,它是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方 面做的比较成熟,因此,常被用做接口功能测试和性能测试。
本次压测模拟的流程是:请求先访问登录接口,成功后通过返回信息拿到用户ID,再将用户ID作为参数访问商品下单的接口。压力测试规则是每秒1000的并发请求,执行1次,也就是执行1s。
PS:下方涉及到的三个变量 NAME、PASSWORD、USER_ID 它们是需要用 {} 来包裹的,我下边写错了,写成了 () 包裹的了。哈哈,我实在是懒得挨个截图改了,在这里说明下,明白原理就好
压测工具笔记(二)之JMeter
@TOC
JMeter是Apache下的一个顶级项目,一个功能强大压力测试工具
JMeter是一个纯java写的开源软件,用来测试可变行为和性能。起初它设计的目的是测试Web应用,但是现在已经扩展到其它的测试
JMeter既提供了GUI界面方便用户使用也提供了命令行的方式让用户操作
JMeter可以支持测试的应用/服务/协议有很多,目前主要介绍HTTP请求
接口测试的 主体流程 :创建测试计划,计划中创建线程组,线程组中创建线程HTTP请求,进行测试
关闭前需要保存我们设置好的测试计划
问题: 保存测试脚本时只保存了Testplan下的部分节点,导致生成的测试脚本只是“testplan”下面的某些元素,,不包括需要运行测试所需的“TestPlan”元素。
解决方案: 在保存测试脚本时,保存整个测试计划,以下两种方式
1.在文件菜单中单击“保存测试计划”或“保存测试计划为”选项;
2.鼠标选中测试计划节点,直接点击工具栏上的“保存测试计划”按钮
使用下来的第一感官是:工具功能强大,但是GUI做的是真的low,连自适应都没有。
相对来讲Windows风格的界面是最友好的一个了 选项---外观-Windows
参考:https://www.cnblogs.com/spareyaya/p/12807638.html
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 ,打开即可查看报告。
压测工具wrk
在工作中经常用wrk对接口进行简单的压测,最近工作中测试接口需要对参数进行签名校验,借这个机会,打算仔细研究下wrk;
wrk命令选项如下图所示:
例子:
其中-s选项指定lua脚本文件,下面举一个脚本的例子:
可以看到lua脚本中可以调用第三方库,动态设置参数,而且wrk基于epoll,性能强悍;
wrk是开源的,其源码地址为 https://github.com/wg/wrk , 采用C语言实现;
wrk定义了全局变量wrk, 提供了如下函数供扩展:
wrk实现很简洁,主要的源文件包括:
下面具体看看wrk是如何实现的:
wrk有几个重要的数据结构,包括thread和connection:
wrk初始化逻辑:
关于接口的压力测试工具和接口压力测试方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
接口的压力测试工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口压力测试方法、接口的压力测试工具的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~