JMeter多脚本间的启动延时

597 篇文章 17 订阅
35 篇文章 2 订阅
本文介绍了如何在JMeter中通过Startupdelay参数或Shell的sleep命令实现多个jmx脚本依次延迟执行。在JMeter线程组中设置Startupdelay可以控制脚本启动时间,或者在Shell脚本test.sh中使用sleep命令间隔执行各测试脚本,确保按顺序运行。同时,提供了创建和运行Shell脚本的一键启动示例。
摘要由CSDN通过智能技术生成

JMeter做压测时,当需要多个jmx脚本依次执行时,需要用到“启动延时”,即间隔可设置的时间后启动运行下一个jmx脚本。

实现“启动延时”的方法有2个。

方法一、利用JMeter线程组中的"Startup delay"参数

在这里插入图片描述
如上图,调度器(Scheduler)中有2个参数,持续时间(Duration)和启动延时(Startup delay),Duration用的比较多,可以限定测试的持续时间。

当jmx脚本不止1个时,如果需要所有jmx脚本都依次执行就需要用到Startup delay了。

Startup delay    # 从当前时刻开始延迟多长时间开始运行

我们可以一次性的创建所有的测试脚本,每个测试脚本依据具体的测试需求设定不同的Startup delay时间,比如脚本0的Startup delay时间为0(直接启动),

脚本1的Startup delay时间为1000,脚本1的Startup delay时间为2000(以此类推)。

由于要把脚本放到Linux环境中运行,可以写一个shell脚本test.sh来做到“一键启动”,还需要创建1个包含所有测试脚本的testdata文件夹,如下:
在这里插入图片描述
在这里插入图片描述
test.sh文件:

#!/bin/bash
#author:jia

# 使用 . 号来引用testdata下的所有jmx文件
. ./testdata/*


nohup jmter -n -t test_00.jmx > test_00.log 2>&1 & 
nohup jmter -n -t test_01.jmx > test_01.log 2>&1 &
nohup jmter -n -t test_02.jmx > test_02.log 2>&1 &
nohup jmter -n -t test_03.jmx > test_03.log 2>&1 &

2>&1 的作用:将标准输出、标准错误输出合并后重定向到test_00.log。

nohup &的方式可以把test.sh放到后台运行,避免前台断开连接打断test.sh的运行。

方法二、利用shell的sleep命令

也就是直接在test.sh脚本中加入延时,test.sh变为:

nohup jmter -n -t test_00.jmx > test_00.log 2>&1 & 
sleep 10m                                                 # 等待10分钟后再执行下一个命令
nohup jmter -n -t test_01.jmx > test_01.log 2>&1 &
sleep 10m 
nohup jmter -n -t test_02.jmx > test_02.log 2>&1 &
sleep 10m
nohup jmter -n -t test_03.jmx > test_03.log 2>&1 &

点赞关注~~持续分享,加入我们,642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值