Jmeter压力测试流程
一、准备
官网下载Apache JMeter - Download Apache JMeter
下载解压到本地盘
一定要先设置JAVA的环境变量
变量名: JAVA_HOME
变量值: D:/YJYJ/Java8/jdk1.8.0_201
然后环境添加: %JAVA_HOME%\bin
1、打开GUI界面
执行 ./apache-jmeter-5.4.1/bin/jmeter.bat 文件,此时即可看到其GUI界面。
2、更改语言为中文
操作路径:【Options】->【Choose Language】-> 【Chinese(Simplified)】
永久4设置
进入apache-jmeter-5.2.1\bin目录,找到“jmeter.properties”文件,在文件的第37行后添加“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。修改字体:
jsyntaxtextarea.font.family=Hack #1169行 jsyntaxtextarea.font.size=14
修改背景颜色
工具栏,选项-外观-
3、创建测试文件夹
在 ./**apache-jmeter-5.4.1/bin/文件夹中创建一个名为plan的文件夹,
用来保存测试计划及其测试结果。
二、创建测试
测试计划名称可以修改,可以添加注释
1、创建线程组
操作路径:【添加】-->【线程(用户)】-->【线程组】
并设置接口名称、线程数(并发同时请求数)、循环次数,
(1)线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
(2)Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。一般设置为1s内发送多少个线程数即可.
*(3)循环次数**:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为2010=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
2、配置元件(可以省略)
操作路径:【添加】-->【配置元件】-->【HTTP请求默认值】
并填上测试接口的协议、服务器名称或IP、端口号,
3、构造HTTP请求
操作路径:【添加】->【取样器】-->【HTTP 请求】
修改HTTP请求的类型,并填上接口路径,
再点击消息体数据,填上请求参数,
如果为开放平台的接口:在web服务器中需要修改
协议: https (多了一个s)
服务器名称或ip: 如 ai.ylzinfo.com
4、添加断言
操作路径:【添加】-->【断言】-->【响应断言】
用于判断返回内容是否正常,
点击响应代码、相等,在测试模式填上正常返回内容(比如200)
填上自定义失败消息(可选)
注意:填200 后不要按回车,否者会识别为换行符. 到时候对此错误:
Assertion error:false
Assertion failure:true
Assertion failure message:Test failed: code expected to equal /****** received : 200[[[ ]]]
****** comparison: 200[[[
]]]/
5、添加察看结果树
操作路径:【添加】-->【监听器】-->【察看结果树】
点击运行,即可看到每个请求的返回内容
6、 其他查看形式
用表格查看结果
可以看到请求时间,传输大小,是否返回正常
聚合报告
可以查看平均值,中位数,90%分位,95%分位,99%分位,最小值,最大值,异常比例,吞吐量,接收速度跟发送速度
图形结果
可以查看请求时间分布等
6、保存测试计划
在 ./**apache-jmeter-5.4.1/bin/plan/文件夹中创建一个名为yg的文件夹
点击保存,并重命名文件(例如yg.jmx)
将其保存至相应文件夹中(例如 ./**apache-jmeter-5.4.1/bin/plan/yg/**)
7、带token的设置
添加-配置元件-HTTP信息头管理
添加:
四、参考
Content-Type : application/json;charset=UTF-8
Authorization: token值
以上是静态token,如果是动态token,则再建请求来获取token
发请求获取token
json提取器
JSON Path expressions: $.xxxx xxxx为获取token的返回结果的方式
将提取的token设为全局变量
${__setProperty(newtoken,${token})}
将全局变量newtoken放进请求头给后续请求使用
${__property(newtoken)}
全局token设置完成
参考(jmeter设置全局变量token - 橙子皮! - 博客园):
三、执行测试计划
1、执行测试
jmeter -n -t plan/yg/yg.jmx -l plan/yg/result/result.txt -e -o plan/yg/webreport
说明:
-t
为测试计划文件路径-l
为测试结果文件路径-o
为web报告保存路径如果result 跟webreport 已经存在,则必须先删除,或者重命名
2、查看报告
双击./**apache-jmeter-5.4.1/bin/plan/yg/webreport/index.html**可查看其报告。
-
3、参数解释
Sample:本次测试场景共运行多少线程;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
详细流程:使用 JMeter 进行压力测试 - 晓晨Master - 博客园
90% line:所有线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error:出错率;
Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5
Kb/sec - 以Kilobytes/seond来衡量的吞吐量
Jmeter压力测试流程相关推荐
- 接口测试工具-Jmeter压力测试使用
接口测试工具-Jmeter压力测试使用 官方描述:jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jm ...
- jmeter压力测试linux,JMeter压力测试
JMeter压力测试 整体目标: 安装虚拟机,并安装一套LAMP(Linux+Apache+Mysql+PHP)待测系统,推荐ECShop(http://www.ecshop.com),基于此进行Jm ...
- Jmeter压力测试_token参数化
Jmeter压力测试_token参数化 简单的压力测试大家基本都知道了,接下来我就讲下怎么做token参数化 一.查看登录成功后返回值. 正如下方图片所展示的,我这里的tokenMap就是token ...
- 性能测试连载 (7)-jmeter 压力测试中的难点解析
概述 新人在用jmeter做压力测试的时候,会被一些性能术语搞懵,直接导致的后果就是对测试出来的结果数据根本不能理解,更谈不上分析.这篇文章着重给大家实例解释一下jmeter压力测试的一些专有名词 问 ...
- jmeter压力测试动态修改并发参数
Apache JMeter 是 Apache 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史.JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一. 性能测试通 ...
- JMeter压力测试,mongodb教程视频百度云
2.httpclient4:压测时,每请求一次都创建一个新的链接,(jmeter5.0以前默认关闭了连接复用,5.0上是打开的:即每请求一次都会创建一个新的链接). 从JMeter 5.0开始,当使用 ...
- Jmeter压力测试教程(上)
JMeter压力测试 一. 简介 1.1优点 1.2缺点 二.安装 2.1下载 2.2解决中文乱码问题 2.5配置环境变量 2.4启动 入门案例 三.线程组相关 3.1 创建多个线程组 3.2 并发和 ...
- 常见压力测试流程步骤
常见压力测试流程步骤: 1.明确压力测试需求.范围.场景.首先得确定测试数据库.测试用例设计等,因为压力测试对于环境的要求较高,因此基本软硬件.工具类以及测试场景的搭建都要准备好. 2.存量数据规模. ...
- JMeter压力测试时报异常:address already in use
JMeter压力测试时报异常:address already in use 执行JMeter时,当并发线程数较高时(尤其是测试机器还存在连接其他服务器的socket),运行一会就会产生address ...
- Apache JMeter压力测试快速入门
引言 前文<Apache JMeter功能测试快速入门>中,我们在bin目录下点击jmeter.bat启动JMeter时,目光如炬的你一定注意到了命令行窗口中的如下提示: Don't us ...
最新文章
- apache ant 安装_SAP Hybris使用recipe进行安装时,是如何执行ant命令的?
- 使用smack对tigase进行压力测试
- vue双向数据绑定的原理
- ping不通自己的ip地址_如何批量Ping N个IP地址,掌握一个命令让你节省N小时,让老板给你加鸡腿!...
- 年年传、年年鸽!iPhone “神机”又被曝光了,明年年初亮相?
- 基于JAVA+SpringMVC+Mybatis+MYSQL的药店门店管理系统
- Kyligence 行业峰会成功举办,“智能数据云”引领数字化转型未来
- 小米距告别破发还差2分钱
- 我必须得告诉大家的 MySQL 优化原理
- jsjavaScriptDate的时间格式转换,直接粘贴就可以使用
- 数据结构 C++实现 基于不同策略的英文单词的词频统计和检索系统(糅合版)
- SpreadJS 14.1 Crack by Xacker
- python编写一个函数把华氏温度转换成摄氏温度_编写一个函数把华氏温度转换成摄氏温度,温度转换公式为:c=(f-32)*5/9。在主函数中输入华氏温度值......
- Ubuntu 解压 zip、z01、z02等文件方法
- Pytorch机器学习(六)——YOLOV5中的自适应图片缩放letterbox
- 知识普及 上海宝付带你揭穿金融诈骗“小把戏”
- 【Note4】shell语法,ssh/build/scp/upgrade,环境变量,自动升级bmc,bmc_wtd,peci,软连接
- php后端aes加密前端解密
- effective java之 builder模式
- 丅rust是什么意思_rust是什么意思_rust的翻译_音标_读音_用法_例句_爱词霸在线词典...
热门文章
- 619. Biggest Single Number
- 使用Ant构建简单项目
- HDU5479 Colmerauer 单调栈+暴力优化
- Effective C++ -----条款50:了解new 和delete 的合理替换时机
- mdf和ldf是什么文件
- ubuntu9.10之grub.cfg详解
- python实现文件压缩
- zblog php获取文章的第一张图片,zblog 获取文章图片作缩略图的几种方式
- Electron + React 跨平台桌面应用部署及发布
- 使用Bind配置DNS Load Balancing