jmeter csv参数化_Jmeter非GUI操作说明【记录】

帮助说明:

使用非GUI命令前先配置JMETER的环境变量,如下

环境便配置:1、【变量名】:JMETER_HOME 【变量值】:D:toolsapache-jmeter-4.0(jmeter文件夹位置)

2、【变量名】:CLASSPATH 【变量值】:%JMETER_HOME%libextApacheJMeter_core.jar; %JMETER_HOME%libjorphan.jar;

3、在path后面加上:%JMETER_HOME%bin;

-h 帮助

-n 非GUI模式

-t 指定要运行的 JMeter 测试脚本文件

-l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)

-r Jmter.properties文件中指定的所有远程服务器

-e 在脚本运行结束后生成html报告

-o 用于存放html报告的目录(目录要为空,不然报错)

Linux系统下的生成命令:

./jmeter -n -t <jmx文件路径> -l result.jtl -e -o <输出生成html文件路径>

实例:(新建两个空文件夹jtl和html用于存放生成的jtl和html文件[必须是空文件夹])

执行结果如图所示:

a3e1f285cbba14de352ebf804d37f00d.png

执行完后就会在创建的空文件夹生成测试报告!

/***************************特注********************************************/

如果执行命令出现以下错误:Creating summariser <summary>

Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property

解决方法:修改user.properties配置参数或者直接复制以下配置,再次执行命令后即可生成html可视化报告了

jmeter.save.saveservice.output_format=csv

jmeter.save.saveservice.bytes=true

jmeter.save.saveservice.label=true

jmeter.save.saveservice.latency=true

jmeter.save.saveservice.response_code=true

jmeter.save.saveservice.response_message=true

jmeter.save.saveservice.successful=true

jmeter.save.saveservice.thread_counts=true

jmeter.save.saveservice.thread_name=true

jmeter.save.saveservice.time=true

jmeter.save.saveservice.timestamp_format=ms

jmeter.save.saveservice.timestamp_format=yyyy-MM-dd HH:mm:ss

jmeter.save.saveservice.print_field_names=true

生成HTML方式:

2.生成报告

a. 在压力测试结束时报告

基本命令格式:

jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>

样例:

jmeter -n -t F:PerformanceTestTestCasescriptgetToken.jmx -l testLogFile -e -o ./output

b. 使用已有的压力测试CSV日志文件生成报告

基本命令格式:

jmeter -g <log file> -o <Path to output folder>

样例:

jmeter -g D:apache-jmeter-3.0bintestLogFile -o ./output

################################################################

备注信息:

重要两点:1、正则提取,前一个接扣参数值引入到下一个接口中,2、参数化通过CSV文件,引入到下一个接口的参数中,准备测试数据,批量压测

正则表达式:通用正则匹配(.+?)

1、()[括起来的部分就是要提取的]

2、.[(点)匹配任意字符]

3、+[一次或多次]

4、?[非贪婪模式,匹配到第一个后停止]

################################################################

如果涉及到token需要添加:HTTP信息头管理器【1、请求格式(JSON),2、参数化引用token${token }】*重点:token(一般都有一定的时效性,比如:20分钟,需要使用【仅一次控制器】,*重点:并发需要引入参数化文件设置)

如果使用并发测试需要:同步定时器(Synch)

################################################################

如果上个接口引用到下个接口中使用的session技术,需要1、在第一个接口中使用正则提取sessionID引用到下一个请求中2、使用参数化文件对接口进行批量压测

################################################################

服务器资源监控

【工具:ServerAgent】

【插件】性能度量收集器【监听器->jp@gc-PerMon MEthics Collector 】

################################################################

jmeter【固定定时器】介绍:

c9345c165f99d89eee068b3d390b3eff.png

固定定时器作用:

在最近使用的固定定时器的场景来看,固定定时器的作用有:

1、确保一些些请求的数据建立的先后顺序。

2、获取服务端某些数据之前加固定定时器,用以确保之前的请求已经在服务端生成了数据。

3、其他网络解释:它可以控制请求的时间间隔,延迟请求到达服务器的时间,模拟真实用户的行为。

4 在特定场景需求下,不需要较大的tps,而是控制特定的处理能力再去观察系统稳定性

定时器种类:

上述所说的固定定时器是定时器中的一种,其他的定时器还有高斯随机定时器、均匀随机定时器、固定吞吐量定时器、同步定时器等

定时器的作用域:

1、定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面);

2、当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;

3、如果希望定时器仅应用于其中一个sampler,则把定时器作为子节点加入;

抛出一个问题 ,固定定时器对响应时间有影响吗?

如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。

对于“java请求”这个sampler来说,定时器相当于loadrunner中的pacing(两次迭代之间的间隔时间);

对于“事务控制器”来说,定时器相当于loadrunner中的think time(思考时间:实际操作中,模拟真实用户在操作过程中的等待时间)。

################################################################

常用插件说明:

传送门--插件地址:https://jmeter-plugins.org/install/Install/

0280e7d1d8136df2f23e797dc732091a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值