目的:目前大多数人会使用jmeter进行性能测试,基于jmeter的GUI模式直接进行测试,但是图形页面的展示会消耗系统资源,所以使用命令行模式运行jmeter测试脚本能够缩减系统资源,增加压测结果的准确性
1.前置条件
(1)安装jdk,安装jmeter,jmeter配置环境变量(不配置的话直接用.bat执行会报错)
2.实际操作
(1)将以下的内容放到txt,并命名为.bat文件放到任意一个文件夹A
@echo off
set file_path=%1
for %%a in ("%file_path%") do set file_dir=%%~dpa
for %%a in ("%file_path%") do set file_name=%%~na
REM set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
if "%date:~5,2%" lss "10" (set month=0%date:~6,1%) else (set month=%date:~5,2%)
if "%date:~8,2%" lss "10" (set day=0%date:~9,1%) else (set day=%date:~8,2%)
if "%time:~0,2%" lss "10" (set hh=0%time:~1,1%) else (set hh=%time:~0,2%)
if "%time:~3,2%" lss "10" (set mm=0%time:~4,1%) else (set mm=%time:~3,2%)
if "%time:~6,2%" lss "10" (set ss=0%time:~4,1%) else (set ss=%time:~6,2%)
set now=%Date:~0,4%%month%%day%%hh%%mm%%ss%
REM echo %now%
cd /d %file_dir%
echo "jmeter -n -t %file_path% -l %file_name%_%now%_result.jtl -e -o %file_name%_%now%"
jmeter -n -t %file_path% -l %file_name%_%now%_result.jtl -e -o %file_name%_%now%
pause
?命令行说明:
(2)在同文件夹A下保存需要进行进行测试的脚本,.jmx
(3)提前在GUI模式设置好需要压测的脚本的所有相关信息:? 线程数,循环次数,断言等
注意:在GUI模式提前调试好脚本再用命令行,并提前“预热”环境--先跑几分钟让相关的服务和中间件等都处于活跃状态,不然刚开始的压测结果耗时长会影响最终结果? ?
(4)将.jmx文件拖动到.bat文件开始执行
(5)执行完成之后,会自动在文件夹A下创建结果文件夹,可以直接查看结果
a.直接查看html结果
b.?将结果展示在jmter的GUI模式查看:在监听器组件添加文件名查看,查看结果树,聚合报告,图形结果等都可以
?
|