Jmeter命令行执行脚本变量用法及远程执行脚本

平时用jmeter做接口测试或者性能测试的时候,基本都是直接在jmeter客户端维护脚本以及调试,但是最后的执行最好是用命令行执行,尤其是性能测试或者自动化测试的时候,因为命令行执行可以降低GUI模式带来的性能损耗。

一、变量用法(其他自定义变量同样操作)

但是经常会有执行前需要修改脚本中的参数的情况,比如调整全局变量或者线程数,循环次数等。
JMeter的测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行中使用【-J】 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值:
在这里插入图片描述
并发数设置为${__P(concurrent_number,1)},循环次数取消勾选Forever,设置为${__P(cycles,1)},其中后面的1是默认值,作用是执行一次来调试脚本

接下来打开cmd命令窗口(或者在服务器上执行命令),输入脚本命令,

jmeter -n -t F:\JmeterData\JmeterScripts\WYHY_coupon.jmx  -J concurrent_number=50   -J cycles=10 -l WYHY_coupon_202404171101.jtl -e -o F:\JmeterData\JmeterReport\WYHY_coupon_202404171101

-J加上之前设置的变量=XXX即可指定变量的值,比如-Jconcurrent_number=10,说明制定了10个线程数,-Jcycles=10,说明循环5次;另外其中-n是说明用命令行执行,-t是指定了执行的脚本路径,-l是指定日志路径(无绝对路径意思是在当前目录下生成日志),-e是说测试结束生成测试报告 -o指定测试报告路径,如果测试报告目录不存在,新建一个并存入报告

如上就是通过命令行指定参数执行脚本的过程啦,但是问题来了,因为我们的脚本之后基本都是要共享的,脚本不会放在本地,基本都会放在测试服务器上,如果每次都登录测试服务器去执行,也有一点麻烦,那么也可以通过参数指定执行的测试服务器

**

二、远程执行脚本

使用这种方式需要先配置远程机器,参考:https://www.cnblogs.com/miniren/p/6515009.html

这种方式有以下几点需要注意:
1)远程测试服务器的jdk和Jemter版本必须和本测试机一致,否则可能会因为版本原因失败;
2)如果引用csv参数文件的,那么服务器上也需要放上参数文件,且与本地机器路径相同;
3)每个远程节点上只能有一个Jmeter从机器,除非我们使用不同的RMI端口;
4)系统关闭防火墙,或者开放特定端口,
5)主机器和所有从机器最好在同一个子网内;
6)服务器需要启动jmeter-server.bat

第一种方式执行:1、通过GUI方式启动–本地主机,可以选择需要启动的远程测试机,也可以直接选择远程启动所有
在这里插入图片描述
第二种方式执行:1、命令行启动,启动jmeter.properties中指定的所有主机:jmeter -n -t script.jmx -r;

2、命令行启动,自定义需要启动的主机:jmeter -n -t script.jmx -R server1,server2,…

命令行后面跟上-x代表指定在测试结束后退出执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值