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

(0)

相关推荐