Jmeter - 定时执行jxm脚本实现稳定性测试
一、背景
1、背景
有个需求需要对某个应用做稳定性测试。
以下考虑了2种方案:
1)用windows自带的定时任务实现定时执行
2)jmeter命令行触发执行(jmeter脚本用循环执行达到定时执行的目的)
2、参考文章链接:
https://blog.csdn.net/SomethingBeTrue/article/details/126310730
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/schtasks-create
二、windows自带定时任务实现
1、构想
用jmeter写个脚本,通过定时任务触发执行
2、实现
1)写好自己的业务流程脚本,我这里的写好的脚本为 root.jmx
2)配置好jmeter的环境变量,不然第3步执行jmeter命令时执行不了
3)新建txt文件,写入命令后将后缀改成.bat:jmeter -n -t C:\Users\13710\Desktop\root.jmx
-n 指定jmeter将在cli模式下运行
-t 包含测试计划的jmx文件名称
-l 记录测试结果的jtl文件名称
-j 记录jmeter运行日志的文件名称
-g 输出报告文件(.csv文件)
-e 生成html格式的测试报表
-o 生成测试报表的文件夹
4)用windows自带的schtasks创建定时任务
创建定时任务,每20分钟运行一次:schtasks /create /sc minute /mo 3 /tn "jmeter" /tr C:\Users\13710\Desktop\bot.bat
停止定时任务:schtasks /end /tn "jmeter"
删除定时任务:SCHTASKS /Delete /TN "jmeter"
5)以上就配置完毕,每隔20分钟会定时执行一次bat文件
三、用jmeter命令行触发执行
1、实现
前提:在jmeter脚本写好循环执行,用固定定时器控制多久执行一次
1)执行命令前先删掉C盘的.jtl文件,路径为 C:\Users\13710\result.jtl,不删的话会出现如下报错:
2)cmd执行:jmeter -n -t E:\06Jmeter\DataCase\root.jmx -l result.jtl -e -o E:\06Jmeter\DataCase\report
3)如果是脚本自动执行完成的话,会自动生成report测试报告,若是循环执行需要自己手工停止,则停止命令ctrl+C退出
4)若是手工停止的,则cmd执行生成测试报告:jmeter -g result.jtl -o E:\06Jmeter\DataCase\report
5)打开文件夹里的index.html则可以看到测试报告,具体报告指标解释可以参考文章:https://www.cnblogs.com/rmticocean/articles/17682309.html