1、linux下修改jmx文件
一、修改.jmx文件,按照下图的描述,修改相应的参数
1、线程的设置
LoopController.loops 设置循环次数
-1
循环不限制次数
2、接口参数设置
2、Jmeter中出现Couldn’t save test plan to file问题可能造成的原因
需要更改上级目录权限,将只读勾选去除即可
3、Linux环境下安装和运行jmeter
①首先需要jdk1.8
②unzip -n apache-jmeter-5.4.1.zip
③进入到apache-jmeter-5.4.1 运行,如果提示 Permission denied ,修改权限:chmod -R 777 apache-jmeter-5.4.1
④最好在windows调试jmx脚本配置,之后上传修改替换
⑤进入到apache-jmeter-5.4.1目录,
# 后台不挂断启动jmeter
nohup ./bin/jmeter -n -t /root/jeme/XX.jmx -l test.jtl -e -o /root/output/ &
这个命令使用 JMeter 运行了一个名为 "XX.jmx" 的测试计划,将结果保存在 "test.jtl" 文件中,并生成 HTML 报告输出到 "output/" 目录中。"-n" 参数指定以非 GUI 模式运行,"-l" 参数指定结果文件的路径和名称,"-e" 参数启用报告生成功能,"-o" 参数指定生成报告的输出目录。
生成的.jtl文件路径下,不能存在同名的.jtl文件(我理解的就是一个jtl文件就代表了一个.jmx文件),否则会执行失败。执行完毕后,会得到这些东西,必须是出现Try。。。。。。nohup jmeter终止了才会自动生成,循环执行完毕才会有,所以最好不要设置 无限循环-1
用浏览器打开存放报告的文件夹下的index.html即可
可能会用到的
# 修改权限
cd /root/apache-jmeter-5.4.1/ chmod +x bin/jmeter
#杀死进程
jps 查看jmeter是否杀死干净
ps -ef | grep -i jmeter | cut -c 9-15 | xargs kill -9
ps -ef|grep ApacheJMeter.jar|cut -c 9-15|xargs kill -9
不区分大小写查找ERROR
grep -a -C 5 'ERROR' jmeter.log
chmod -R +x jeme
# 压测结束后再生成报告
./bin/jmeter -g test.jtl -o output/
#需要修改相关配置 jmeter.proties属性文件(名字可能打错了)
jmeter.save.saveservice
#删除文件test.jtl第3386677行
sed -i '3386677d' test.jtl
4、JMeter 设置间隔时间
需求:一分钟请求30次,等待一分钟后再次请求30次,如何在Jmeter设置策略;
分析:根据需求要满足该模式需要通过设置间隔时间,首先通过Jmeter定时器来添加间隔时间;
1、Jmeter 添加固定定时器
2、设置间隔时间
3、设置线程组
由于演示所以并发数设置为1,循环执行5次,每次间隔时间为1分钟
4、添加【View Results in Table】查看执行结果
通过View Results in Table 可以看到每次请求间隔时间为1分钟,共请求5次;
由于间隔时间是固定的,此时我们使用Constant Timer(固定定时器),其实Timer还包含许多类型定时器,其实方法大致相同,只是使用的场景不同;
注意:
定时器是在每个采样器之前执行的;
定时器作用域:如果放在采样器之外,定时器作用域针对所有的采样器,如果采样器中包含定时器,定时器作用域只针对当前的采样器