Jmeter命令行执行脚本如何设置动态参数

作者:zzz紫川 时间:2021-07-09 20:39:49 

最近看到在Linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低GUI模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改-->保存-->cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值。

查看相关资料实操,可以发现JMeter的测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行中使用【-J】 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值,那么方法就出来了。

Jmeter命令行执行脚本如何设置动态参数

配置说明:

1、并发数设置为${__P(concurrent_number,1)},循环次数取消勾选Forever,设置为${__P(cycles,1)},其中后面的1是默认值,作用是执行一次来调试脚本,这是__P函数的功能(虽然我一直都是用GUI模式来调试脚本的)

2、执行时长设置为${__P(duration,60)},默认1分钟(60s),如果同时设置了循环次数和执行时长,那么满足其中一个条件脚本就会停止。

那么先试试吧,默认执行脚本,命令行如下:

jmeter -n -t \tmp\cnblgo.jmx(脚本的绝对路径)

Jmeter命令行执行脚本如何设置动态参数

从上图可以看出,脚本执行了一次,持续了0.7s,是OK的。

查看Jmeter的源码,可知执行次数=-1时即表示Forever。以50并发执行120s的命令行如下:(为了直观,我直接生成测试报告用web界面的形式看,否则-l后面的可以不写)

jmeter -n -t C:\Users\zhoulinjie\Desktop\cnblgo.jmx -Jconcurrent_number=50 -Jduration=120 -Jcycles=-1 -l report.jtl -e -o C:\Users\zhoulinjie\Desktop\report

打开生成的测试报告文件,index.html,如下:

Jmeter命令行执行脚本如何设置动态参数

还有其他的组合就不截图了,需要什么参数,直接用-J+${}+__P()即可。同理,线程组界面中的Ramp-Up Period(in seconds)也是可以通过这种方式设置的。

来源:https://www.cnblogs.com/zichuan/p/11262997.html

标签:Jmeter,命令行,脚本,动态,参数
0
投稿

猜你喜欢

  • 详解maven中央仓库连不上的解决办法

    2023-02-25 08:43:54
  • spring boot thymeleaf 图片上传web项目根目录操作步骤

    2023-11-23 10:50:46
  • 浅析C#的复制和克隆

    2022-08-30 15:27:13
  • C# 字符串的连接(实例讲解)

    2021-11-28 13:57:14
  • gradle中的增量构建浅析

    2022-09-23 06:43:13
  • C#实现获取机器码的示例详解

    2021-11-13 06:57:19
  • Spring应用抛出NoUniqueBeanDefinitionException异常的解决方案

    2023-11-25 07:36:19
  • 新手学习微服务SpringCloud项目架构搭建方法

    2022-01-29 04:00:17
  • Java源码解析HashMap成员变量

    2023-04-24 07:20:22
  • 全面了解Java中的内部类和匿名类

    2023-01-05 09:14:23
  • Spring Boot 如何解决富文本上传图片跨域问题

    2021-09-20 06:08:58
  • Android入门教程之ListView的应用示例

    2022-12-24 07:07:51
  • 深入理解Spring AOP

    2023-02-09 15:14:40
  • 聊聊在Servlet中怎么上传文件

    2022-03-07 17:56:44
  • Java多线程之彻底搞懂线程池

    2023-12-18 23:54:09
  • Android 嵌套Fragment的使用实例代码

    2022-07-18 06:37:15
  • Android 10 启动之servicemanager源码解析

    2023-05-16 15:04:53
  • 关于MD5算法原理与常用实现方式

    2023-03-18 11:09:04
  • C#获取进程或线程相关信息的方法

    2021-06-27 16:37:23
  • 关于Springboot数据库配置文件明文密码加密解密的问题

    2023-11-25 03:29:46
  • asp之家 软件编程 m.aspxhome.com