使用Jmeter进行http接口做功能、性能测试
在测试移动APP时,会有很多接口需要做测试,我在这里介绍一下对HTTP接口做功能、性能的测试。首先我们会从开发人员拿到接口数据。
一、测试需求描述
1、 本次测试的接口为http服务端接口
2、 接口:查询功能接口
3、接口描述:用户对订单列表进行查询
IP:http://192.168.8.197/biz/api/v1/mobile/doctor/subscribe/orderList
请求方式:get
端口号:9090
请求头参数:token = ffb74003075c4094853c98bfcfd081b7
请求参数:stateType = ALL , beginLine = 1
响应数据:显示所有订单的详情信息
二、使用Jmeter部署环境
1、首先打开Jmeter,在测试计划下添加线程组。
2.在线程组下添加HTTP信息头管理器,如果接口没有请求头参数,就可以不加。
3.在线程组下添加HTTP请求。
4.在HTTP请求下添加察看结果数
5.在HTTP请求下添加聚合报告
三,部署完成后,开始填入数据进行测试
1、首先填写HTTP信息头管理器,点击添加,把请求头参数:token = ffb74003075c4094853c98bfcfd081b7填入进去。
2、填写HTTP请求,点击添加,把请求参数:stateType = ALL , beginLine = 1填入进去。
协议:http
端口号:9090
请求方式:get
路径:/biz/api/v1/mobile/doctor/subscribe/orderList
3、设置线程组,根据测试需求来设置。我们这里设置的是10个虚拟用户,循环1次。
在这里详情解说一下线程组设置:
(1)线程数:即用户数,一个虚拟用户占用一个进程或线程,需要多少个用户施压,就设置多少虚拟用户数,在这里就是设置多少个线程数。
(2)Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要在多长时间内全部启动。例如线程数为100,准备时长为10,那么需要10秒钟启动100个线程,也就是每秒钟启动10个线程。我们这里设置1秒,表示1秒内10个用户全部启动。
(3)循环次数:每个线程发送请求的次数。例如线程数为10,循环次数为10,那么每个线程发送10次请求,则总请求数为10*10=100 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。
(4)Delay Thread creation until needed:直到需要时延迟线程的创建。
(5)调度器:可以设置线程组的持续时间或启动时间和结束时间。
当选用配置调度器时,需要设置循环次数为永远,防止因循环次数不够而终止压测。
持续时间(秒):测试计划持续多长时间,例如1分钟就填写60,会覆盖结束时间。
启动时间:测试计划什么时候启动,启动延迟会覆盖它。当启动时间已过,手动运行脚本时当前时间也会覆盖它(但启动时间页面显示不会变)。
结束时间:测试计划什么时候结束,持续时间会覆盖它。
启动延迟(秒):测试计划延迟多长时间启动,会覆盖启动时间。
4、全部都设置好了就可以点击绿色箭头运行了,或者点击“运行”菜单栏的“启动”列表。运行完成后,我们来看看查看结果数。点击响应数据查看返回数据是否和研发部编写的一致。
5、请求都成功后,我们来看看聚合报告,这个数据就是我们的测试结果了。
6、我们这里解说一下聚合报告各参数的值,主要是查看Average和Throughput的值。
(1)Label:请求对应的name属性值
(2)Samples:表示这次测试中一共发出了多少个请求,我们这里是模拟10个用户,每个用户迭代1次,那么这里显示10。
(3)Average:单个 Request 的平均响应时间。
(4)Median:中位数, 50% 的样本都没有超过这个时间
(5)90% Line:90%的样本都没有超过这个时间
(6)95% Line:95% 的样本都没有超过这个时间
(7)99% Line:99% 的样本都没有超过这个时间
(8)Min:最小响应时间
(9)Max:最大响应时间
(10)Error%:本次测试中出现错误的请求的数量/请求的总数
(11)Throughput:吞吐量,表示每秒完成的请求数
(12)Received KB/Sec:收到KB /秒的吞吐量测量接收到的字节每秒
(13)Sent KB/Sec:送千字节/秒的吞吐量测量送千字节每秒
使用Jmeter进行http接口做功能、性能测试的更多相关文章
- Jmeter 使用实践 - 接口 diff 测试
大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自 ...
- jmeter测试dubbo接口
本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文 ...
- Jmeter使用实践-接口diff测试
Jmeter使用实践-接口diff测试 大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmete ...
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
- Jmeter实现dubbo接口压测案例
当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三 ...
- jmeter中测试接口
本文主要介绍在jmeter中测试接口:主要从以下几个方面进行说明: 1.jmeter简介 2.jmeter怎么做接口测试 3.jmeter进行参数化的几种形式 4.jmeter中处理乱码方法 5.jm ...
- Jmeter如何测试接口
现在对测试人员的要求越来越高,不仅仅要做好功能测试,对接口测试的需求也越来越多!所以也越来越多的同学问,怎样才能做好接口测试? 要真正的做好接口测试,并且弄懂如何测试接口,需要从如下几个方面去分析问题 ...
- 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- JMeter学习-022-JMeter 分布式测试(性能测试大并发、远程启动解决方案)
在使用 JMeter 进行性能测试时,难免遇到要求并发请求数比较的场景,此时单台测试机的配置(CPU.内存.带宽等)可能无法支持此性能测试场景.因而,此时 JMeter 提供的分布式测试功能就有了用武 ...
随机推荐
- Shell 批量修改主机 用户密码
问题:132.121.114 和 132.121.118 网段共 48 台主机未添加基础监控,但是 wh 账户不能登录 需进行批量修改密码操作. 目前情况:op1对上述48台机器设备均能免密登录. 操 ...
- MTK6261 11C之Init Analysis【手记】
初始化流程 Application_Initialize systemInitialization(); HWDInitialization(); USC_Start(); OSTD_Init(); ...
- 日常杂记——C#验证码
随机生成验证码,不能以图片的形式存在,所以需要将验证码图片以MemoryStream形式存储在内存的流当中,但是在使用时发现使用PictureBox控件无法显示内存流,所以需要先将流转化为图片,才可以 ...
- spark报错:warn util.utils::service 'sparkUI' can not bind on part 4040.Attempting port 4041.
转载自:https://blog.csdn.net/weixin_41629917/article/details/83190258
- linux上如何设置网络,出现connect: network is unreachable 的问题。
发现有网友问有关ping命令出现connect: network is unreachable 的问题. 这通常是因为没正确设置ip地址. 解决方法: 在确保完善网卡驱动,以及确保将网卡驱动编译进内核 ...
- 安装和破解Navicat
这里的是安装目录,要记住 额外热任务在桌面创建一个快捷方式 点击完成之后先不要打开运行Navicat.exe这个主程序,把PatchNavicat.exe复制到你刚刚我们安装的路径,,不是你安装包的路 ...
- week05 codelab01 Babel ES6 webpack Nodejsserver等
Babel 他出现的原因就是很多浏览器还未完全兼容ES6 需要将你写的ES6的内容转换成ES5让浏览器兼容运行 ES5和ES6相比出现很多新内容 比如拼接字符串 ES6可以` ` 里面如果引用变量就用 ...
- jQuery中删除方法empty(),remove()和detach()的区别
empty():清空匹配的元素集合中所有的子节点,自身节点和事件都未被删除. remove():这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.但除了这个元素本身 ...
- java 图片转base64字符串、base64字符串转图片
java 图片转base64字符串.base64字符串转图片 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * ...
- docker for ubuntu 18 安装
官网地址: https://docs.docker.com/install/linux/docker-ce/ubuntu/ docker的作用:解决不同机器之间的环境差异问题,方便迁移. 0. 卸载旧 ...