Jmeter工具使用总结
Jmeter工具使用总结
目录
Jmeter函数总结
第一章 前言
第二章 常用函数的介绍
2.1. timeShift函数
2.2. time函数
2.3. groovy函数
第三章 常用用法
3.1. Jmeter读取Excel
1) 添加线程组
2) 添加配置元件--》选择CSV Data Set Config
3) 添加--》取样器--》选择BeanShell Sampler,使用vars.get方法获取Excel的值
4) 添加--》取样器--》选择Debug Sampler,以便后面查看是否正常的获取了Excel中的数据
5) 添加http请求,将Excel中获取的数据作为参数传递
6) 添加一个查看结果树,以查看执行之后的结果
7) 设置线程组
8) 遇到问题
3.2. Jmeter读取txt
1) 添加线程组
2) 添加配置元件--》选择CSV Data Set Config
3) 添加--》取样器--》选择BeanShell Sampler,使用vars.get方法获取Excel的值
4) 添加--》取样器--》选择Debug Sampler,以便后面查看是否正常的获取了Excel中的数据
5) 添加http请求,将Excel中获取的数据作为参数传递
6) 添加一个查看结果树,以查看执行之后的结果、
7) 设置线程组
第四章 常见问题
4.1. Jmeter请求参数时,中文出现乱码
第一章 前言
近期工作过程中使用Jmeter函数较多,初步使用,遇到问题只能依赖度娘解决,近期抽时间将遇到的问题梳理了一下,并附上了解决方法,希望可以对大家有所帮助。
第二章 常用函数的介绍
2.1. timeShift函数
背景:近期测试的一些业务的接口的传参需要传入与时间有关的一些数值
(比如需要毫秒级别的时间戳,比如1660270555043,对应的时间2022-08-12 10:15:55 ),
(再比如20220812101555848 对应的是2022-08-12 10:15:55),
使用 timeShift函数可以构造最新时间和指定时间戳。
示例:
|
场景 |
函数 |
结果 |
|
当前时间时间戳 (毫秒级) |
${__timeShift(,,,,)} |
1660270835790 |
|
2小时前时间戳 (毫秒级) |
${__timeShift(,,-PT2H,,)} |
1660263761872 |
|
指定格式, 输出当前时间 |
${__timeShift(yyyyMMddHHmmssSSS,,,,)} |
20220812101555848 |
|
指定格式, 输出2小时前时间 |
${__timeShift(yyyyMMddHHmmssSSS,,-PT2H,,)} |
20220812101555848 |
展开:
点击[函数助手/Function Helper]系统弹出函数助手页面,下拉选择timeShift

格式 - 将显示创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。
比如:
传入yyyyMMddHHmmssSSS,输出20220812101555848
传入yyyy-MM-dd HH:mm:ss 输出 2022-08-12 10:33:42
日期 - 这是日期值。用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期的情况。如果参数值未通过,则使用当前日期。(没用对,自己打算再找找度娘)
移位 - 表示要从日期参数的值中添加或减去多少天,几小时或几分钟。如果该值未被传递,则不会将任何值减去或添加到日期参数的值中。不使用符号时为增加,使用+ -号实现加减
“P1DT2H4M5S” 解析为“添加1天2小时4分钟5秒”
“P-6H3M”解析为“-6小时+3分钟”
“-P6H3M”解析为“-6小时-3分钟”
“-P-6H + 3M”解析为“+6小时和-3分钟”
“P1d” 解析为增加一天
“PT2H” 解析为增加两小时
“PT30m”解析为增加30分钟
“PT40S”解析为增加40秒
“P1dT2H30m40s”解析为增加一天两小时三十分钟四十秒
区域设置 - 设置创建日期的显示语言。不是必填项
变量 - 创建日期的值将被分配给的变量的名称。不是必填项
2.2 time函数
time函数同timeShirt函数用法大致相同。
示例:
|
场景 |
函数 |
结果 |
|
当前时间时间戳 (毫秒级) |
${__time(,)} |
1660272941726 |
|
当前时间时间戳 (秒级) |
${__time(/1000,) |
1660272952 |
|
指定时间格式 |
${__time(yyyy-MM-dd,)} |
2022-08-12 |
展开:
点击[函数助手/Function Helper]系统弹出函数助手页面,下拉选择time函数

格式 - 将显示创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。
比如:
传入yyyyMMddHHmmssSSS,输出20220812101555848
传入yyyy-MM-dd HH:mm:ss 输出 2022-08-12 10:33:42
变量 - 创建日期的值将被分配给的变量的名称。不是必填项
time函数与timeShift函数区别:
*time函数即可以生成秒级别、也可以毫秒级别的时间戳,timeShift函数仅可以生成毫秒级别的时间戳;
*timeShift函数比time函数多了几项传参,比如可以传入移位参数,构造几天前/几小时/几分钟对应时间值
推荐网址:(截图很全)
https://blog.csdn.net/baidu_17201253/article/details/107730382?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-107730382-null-null.pc_agg_new_rank&utm_term=jmeter%E6%97%B6%E9%97%B4%E7%9B%B8%E5%87%8F&spm=1000.2123.3001.4430
2.3. groovy函数
问题:我需要一个传参,将指定格式的时间转为时间戳(毫秒级别),试了好几个方法都不太合适,最后使用了同事提供的groovy函数
示例:比如将startDate的日期转为时间戳
|
指定日期 |
转为时间戳 |
输出 |
|
startDate=2022-07-19 12:30:10 |
${__groovy(new java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss').parse('${startDate}').getTime(),)} |
startTime=1658205010000 |


第三章 常用用法
3.1. Jmeter读取Excel
背景:近期需要使用接口构造100条数据,就计划使用excel存储数据,然后将每次读取的数据作为参数传递给接口。
步骤:
1) 添加线程组

2) 添加配置元件--》选择CSV Data Set Config

附上Excel表格

3) 添加--》取样器--》选择BeanShell Sampler,使用vars.get方法获取Excel的值

4) 添加--》取样器--》选择Debug Sampler,以便后面查看是否正常的获取了Excel中的数据

5) 添加http请求,将Excel中获取的数据作为参数传递

6) 添加一个查看结果树,以查看执行之后的结果


7) 设置线程组
比如循环次数设置5,系统会重复执行5次,依次读取第前5条数据作为传参,调用接口


8) 遇到问题
Csv格式添加数据,但是无法保存设置的格式,比如设置的时间格式样式就丢失了

所以,最终未使用从excel中读取数据,而是计划从txt中读取数据
3.2. Jmeter读取txt
步骤基本上同章节3.1 Jmeter读取Excel 一致,也是六大步骤,仅附上与excel 不同的截图
1) 添加线程组
2) 添加配置元件--》选择CSV Data Set Config

附上txt内容

3) 添加--》取样器--》选择BeanShell Sampler,使用vars.get方法获取Excel的值
4) 添加--》取样器--》选择Debug Sampler,以便后面查看是否正常的获取了Excel中的数据
5) 添加http请求,将Excel中获取的数据作为参数传递
6) 添加一个查看结果树,以查看执行之后的结果、
7) 设置线程组
第四章 常见问题
4.1. Jmeter请求参数时,中文出现乱码
问题描述:使用jmeter时,又遇到了在接口参数输入有带中文的时候,执行接口后,出现乱码的情况
解决方式:在请求中,content encoding写为:utf-8

Jmeter工具使用总结的更多相关文章
- 关于jmeter工具使用的总结
今天总结下jmeter工具如何使用 先从最简单的说起 如何打开jemter 配置环境变量 接下来我们只要在dos窗口中输入 jmeter就能打开,这也告诉了我们配置环境变量的方便性 接下来介绍一下线程 ...
- Jmeter工具进行一个完整的接口测试
Jmeter工具进行一个完整的接口测试 1.创建一个线程组 通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户. 2.输入线程组名字 3.添加一个cookie ...
- Jmeter工具之上传图片,上传音频文件接口
https://www.jianshu.com/p/f23f7fe20bf3 互联网时代的来临,不同手机上安装的APP,还是PC端的应用软件或多或多都会涉及到图片的上传,那么在Jmeter工具如何模拟 ...
- [原创]Jmeter工具学习思维导图
[原创]Jmeter工具学习思维导图
- JMeter工具接口性能压力测试分析与优化
最近公司做的项目,要求对相关接口做性能压力测试,在这里记录一下分析解决过程. 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情 ...
- 接口测试及接口Jmeter工具介绍
一.接口类型及数据传递的格式 接口类型: 1.HTTP接口:通过GET或POST来获取数据,在数据处理上效率比较高 2.WebServer接口:通过SOAP协议来获取数据,比起http来说处理更加复杂 ...
- 使用Jmeter工具对http接口进行压力测试
1.访问apache官网下载Jmeter工具 地址:https://jmeter.apache.org/download_jmeter.cgi 2.解压压缩包后运行bin目录下jmeter.bat启动 ...
- JMeter工具学习(一)工具使用详细介绍
备注: JMeter版本4.0 JDK版本1.8 1,JMeter下载 2,下载后直接解压 3,打开解压文件,找到bin目录下的jmeter.bat,双击打开 4,打开jmeter 6,右键Test ...
- Jmeter接口测试 2=> Jmeter工具的介绍
第一节 接口测试流程 参数化:EXCEl文件参数化.数据库参数化.直接代码中配置.配置文件 预处理请求(前置处理):对请求的参数进行预处理.准备,如加密数据.组织测试数据 发起请求:httpclien ...
- Jmeter工具环境搭建
Jmeter工具什么 1 多线程框架-支持多并发操作 2 用于对服务器模拟负载 3 支持web,数据库,FTP服务器系统的性能测试 4 开源,可二次定制开发 下载Java JDK 下载地址: http ...
随机推荐
- Git合并上的问题
关于Git合并上问题的处理 在前几天对某个游戏章节的bug修改完成,主程让我把dev_7的内容合并到dev_8上.虽然很少使用Fork,但是还是硬着头皮说行. 合并前,先将分支切换到dev_8,选择d ...
- DAST 黑盒漏洞扫描器 第二篇:规则篇
0X01 前言 怎么衡量一个扫描器的好坏,扫描覆盖率高.扫描快.扫描过程安全 而最直接的效果就是扫描覆盖率高(扫的全) 怎么扫描全面,1 流量全面 2 规则漏报低 流量方面上篇已经讲过,这篇主要讲扫描 ...
- while循环结构
一.循环: 1.场景: ①.用户名和密码,反复输入 ②.计算1-100之间 ③.游戏,重生 ④.-- 2.方式 ①.while ②.for 3.while格式 while 条件:要循环执行的代码 布尔 ...
- 百度地图API 地图圈区域并计算坐标点是否在区域内
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 经典漏洞-后台备份数据库getshell
由于接触安全时间不多,一些老的getshell方法不是很清楚.这次碰到了个老站,正好学习了一下. 首先这边是用户名可以猜测出来的,因为输入错误的用户名显示用户名不存在,如果存在的话会显示密码错误. 爆 ...
- vue大型电商项目尚品汇(后台终结篇)day06 重磅!!!
自此整个项目前后台,全部搭建完毕. 今天是最后一天,内容很多,而且也比较常用,一个图标类数据可视化,一个后台的权限管理,都是很经典的类型. 一.数据可视化 1.简介 专门的一门学科,有专门研究这个的岗 ...
- Windows 启动过程
引言 启动过程是我们了解操作系统的第一个环节.了解 Windows 的启动过程,可以帮助我们解决一些启动的问题,也能帮助我们了解 Windows 的整体结构. 以下内容将分为[加载内核].[内核初始化 ...
- 解决github.com 的响应时间过长以及hosts配置不能保存的问题
github.com 的响应时间过长 1 获取github可以使用的DNS域名 DNS查询 选择TTL值最小的 2 修改hosts配置 打开之后在最后加上如下内容,保存即可 3 出现hosts不能保存 ...
- Java开发学习(七)----DI依赖注入之自动装配与集合注入
一.自动配置 上一篇博客花了大量的时间把Spring的注入去学习了下,总结起来就两个字麻烦.麻烦在配置文件的编写配置上.那有更简单方式么?有,自动配置 1.1 依赖自动装配 IoC容器根据bean所依 ...
- 服务器与Ajax
前端相关的技术点 HTML 主要用来实现页面的排版布局 CSS 主要用来实现页面的样式美化 JavaScript 主要用来实现前端功能特效 Ajax基础知识铺垫 客户端与服务器 通信协议( ...