jmeter压测学习31-取样器之测试活动(Test Action)
前言
前面一篇讲到添加固定定时器,可以在请求之前加等待时间,如果想在请求之后加等待时间呢?
在前面一篇有提到:如果希望在 sampler 执行完之后再等待,则可使用取样器里面的测试活动 (Test Action);
测试活动(Test Action)
有 2 个 HTTP 请求,a 是注册用户请求,b 是登录的请求。先发 a 请求注册,注册成功后,用同一账号去登录。
希望在第一个请求发送之后,设置个等待时间,再发第二个请求,于是可以在线程组下添加-取样器-测试活动(Test Action)
Jmeter 3.1的版本叫 Test Action
Jmtter 5.1的版本叫 Flow Control Action
Pause 设置暂停
测试活动( Flow Control Action )页面相关参数配置
Logical Action on Thread
Pause 暂停,配合 Duration 一起使用
Duration(milliseconds) 延迟时间,单位是毫秒
Start Next Thread Loop 开始下个线程循环
Go to next loop iteration转到下一个循环迭代
Break Current Loop 跳出当前的循环
Logical Action on Thread/Test
Stop 停止
Stop 立即停止
target: 选择是当前线程还是所有线程,默认当前线程
勾选 Pause 项,设置 Duration 为 2000 毫秒,也就是运行到这个测试活动的时候暂停2秒后继续
运行后可以看到两次线程启动时间间隔2秒
Stop 停止
线程组设置2个线程,循环5次,那么总共会发 10 次请求
测试活动( Flow Control Action ) 勾选 Stop
运行后会发现,2 个线程发了 2 个请求后,就不会继续了,Stop 会结束循环
循环设置
线程组设置 2 个线程,循环 5 次,那么总共会发 10 次请求。
我期望的是只针对第一个请求循环 5 次,第二个请求不执行,那么在循环的时候,我们可以设置跳过当前循环,继续下个循环。
设置测试活动( Flow Control Action ) 勾选 Start Next Thread Loop
运行后,查看结果,就只有第一个请求循环了5次
Go to next loop iteration 转到下一个循环迭代, 跟 Start Next Thread Loop 开始下个线程循环差不多。
Break Current Loop 跳出当前的循环,不再循环了。
跨线程组使用
我们也可以在多个线程组中使用 测试活动( Flow Control Action ),希望在第一个线程组启动后,2秒后再启动第二个线程组
于是在线程组 2 的开始位置,加一个测试活动( Flow Control Action ),延迟 2000 毫秒
查看结果,看到线程组 2 会延迟 2 秒启动
2021年第六期《python接口自动化+测试开发》课程,1月9号开学(火热报名中!)
本期上课时间:1月9号-4月18号,每周六、周日晚上20:30-22:30