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工具使用总结的更多相关文章

  1. 关于jmeter工具使用的总结

    今天总结下jmeter工具如何使用 先从最简单的说起 如何打开jemter 配置环境变量 接下来我们只要在dos窗口中输入 jmeter就能打开,这也告诉了我们配置环境变量的方便性 接下来介绍一下线程 ...

  2. Jmeter工具进行一个完整的接口测试

    Jmeter工具进行一个完整的接口测试 1.创建一个线程组 通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户.   2.输入线程组名字 3.添加一个cookie ...

  3. Jmeter工具之上传图片,上传音频文件接口

    https://www.jianshu.com/p/f23f7fe20bf3 互联网时代的来临,不同手机上安装的APP,还是PC端的应用软件或多或多都会涉及到图片的上传,那么在Jmeter工具如何模拟 ...

  4. [原创]Jmeter工具学习思维导图

    [原创]Jmeter工具学习思维导图

  5. JMeter工具接口性能压力测试分析与优化

    最近公司做的项目,要求对相关接口做性能压力测试,在这里记录一下分析解决过程. 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情 ...

  6. 接口测试及接口Jmeter工具介绍

    一.接口类型及数据传递的格式 接口类型: 1.HTTP接口:通过GET或POST来获取数据,在数据处理上效率比较高 2.WebServer接口:通过SOAP协议来获取数据,比起http来说处理更加复杂 ...

  7. 使用Jmeter工具对http接口进行压力测试

    1.访问apache官网下载Jmeter工具 地址:https://jmeter.apache.org/download_jmeter.cgi 2.解压压缩包后运行bin目录下jmeter.bat启动 ...

  8. JMeter工具学习(一)工具使用详细介绍

    备注: JMeter版本4.0 JDK版本1.8 1,JMeter下载 2,下载后直接解压 3,打开解压文件,找到bin目录下的jmeter.bat,双击打开 4,打开jmeter 6,右键Test ...

  9. Jmeter接口测试 2=> Jmeter工具的介绍

    第一节 接口测试流程 参数化:EXCEl文件参数化.数据库参数化.直接代码中配置.配置文件 预处理请求(前置处理):对请求的参数进行预处理.准备,如加密数据.组织测试数据 发起请求:httpclien ...

  10. Jmeter工具环境搭建

    Jmeter工具什么 1 多线程框架-支持多并发操作 2 用于对服务器模拟负载 3 支持web,数据库,FTP服务器系统的性能测试 4 开源,可二次定制开发 下载Java JDK 下载地址: http ...

随机推荐

  1. 异常——JavaSE基础

    异常 异常的分类 检查性异常 运行时异常:可能被程序员避免的异常,运行时异常可以在编译时被忽略 错误ERROR:错误不是异常 在Java中把异常当作对象来处理,并且定义了一个基类java.lang.T ...

  2. 从零开始构建并编写神经网络---Keras【学习笔记】[1/2]

    Keras简介:   Keras是由纯python编写的基于theano/tensorflow的深度学习框架.   Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结果, ...

  3. Javaer 面试必背系列!超高频八股之三色标记法

    可达性分析可以分成两个阶段 根节点枚举 从根节点开始遍历对象图 前文提到过,在可达性分析中,第一阶段 "根节点枚举" 是必须 STW 的,不然如果分析过程中用户进程还在运行,就可能 ...

  4. DirectX11 With Windows SDK--06 使用ImGui

    前言 Dear ImGui是一个开源GUI框架.除了UI部分外,本身还支持简单的键鼠交互.目前项目内置的是V1.87版本,大概半年时间会更新一次版本,并且对源码有小幅度调整. 注意:直接下载源码使用会 ...

  5. 会话技术 Cookie+Session

    会话:这种在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话(session) 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开: 功能:在一次会话 ...

  6. UiPath选择器之页面选择器的介绍和使用

    一.页面选择器的介绍 某些软件程序的布局和属性节点具有易变的值,例如某些Web应用程序.UiPath Studio无法预测这些变化,因此,您可能必须手动生成一些选择器. 每个属性都有一个分配的值.选择 ...

  7. sql-关键词的大小写与注释

    是否区分大小写 和 注释 大小写 oracle 自带的sqlplus: mysql 客户端 : Navicat: 注释 oracle 自带的sqlplus: mysql 客户端 : 小节 oracle ...

  8. 练习-用if语句替换三元运算符和选择结构-标准的switch语句

    if语句和三元运算符的互换 在某些简单的应用中,if语句是可以和三元运算符互换使用的 public static void main(String[] args) { int a = 10; int ...

  9. vue封装原生的可预览裁剪上传图片插件H5,PC端都可以使用

    思路:1.先做出一个上传的图片的上传区 <!-- 上传区 --> <label for="fileUp"> <div class="upBo ...

  10. Error Code: 1054. Unknown column '字段名' in 'field list'

    问题描述: j博主在java开发过程中,通过读取excel中表名和字段名,动态创建insert的SQL语句,在mysql可视化工具中执行此SQL语句时,一直提示"Error Code: 10 ...