1、jmeter命令行说明
jmeter脚本变量格式
先利用函数助手对话框的 P 函数设置脚本变量,并发线程数变量示例:${__P(bingfa,1)}
命令行参数 -Jbingfa=4 等同于jmeter中变量 ${__P(bingfa,1)}=4
单个命令行示例:
jmeter -n -t **.jmx -Jbingfa=4 -l “Log\log.csv” -j “Log\jmeter.log” -e -o “Report”
部分参数说明:
-n:非GUI方式运行。
-t:指定运行的测试脚本地址与名称(后缀为.jmx文件),可以是相对或绝对路径
-l:记录测试结果到文件(后缀为.jtl),指定名称与路径,可以是相对或绝对路径
-r:开启远程负载机,远程负载机列表在jmeter.properties文件中指定
-R:开启远程负载机,可以指定负载机IP,会覆盖jmeter.properties中的设置
-X:停止远程执行
-J:定义Jmeter变量值,利用函数助手对话框的 P 函数设置获取命令行变量
-G:定义Jmeter全局属性,等同于在Global.properties中设置,线程间可相互共享
-e:在脚本运行结束后生成html报告
-o:保存html报告的地址
-g:指定已存在的测试结果文件
2、第一层bat脚本
说明:
%~dp0 表示bat文件的当前目录
%1 表示该bat命令行运行时带的第一个参数值
思路:通过时间变量生成唯一目录,通过%1可控制使用不同的参数值运行jmeter脚本
test.bat 示例文件内容
@echo off
title jmeter脚本-%1
SET T=%Date:~5,2%%Date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
SET T1=%T: =0%
SET Logfile=%~dp0%1_%T1%
jmeter -n -t “%~dp0\test.jmx” -Jbingfa=%1 -l “%Logfile%\log.csv” -j “%Logfile%\jmeter.log” -e -o "%~dp0%1_%T1%Report"
echo %Date:~0,10%%time: =0%_%1_end
3、上层bat脚本
思路:通过for循环依次控制test.bat执行不同参数值的jmeter命令行
说明:
FOR %%B IN (100,120,140) ,括号内是值1、值2、值3、……,会分别以变量100、120、140 执行三次
FOR /L %%B IN (10,20,100) ,括号内是最小值、步进值、最大值,会分别以变量10、30、50、70、90执行五次
上层脚本示例文件内容
@echo off
SET batpath=%~dp0test.bat
FOR %%B IN (100,120,140) do %batpath% %%B