接口自动化测试 —— Jmeter 6种定时器应用

①定时器是在每个sampler(采样器)之前执行的,而不是之后,不管这个定时器的位置放在sampler之后,还是之下,都在sampler之前得到执行

②定时器是有作用域的,当执行一个sampler之前时,所有当前作用域内的定时器都会被执行

③如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入

④如果希望在sampler执行完之后再等待,则可使用Test Action

1、固定定时器

毫无疑问,这是最重要的定时器。

需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。

固定定时器的时长设为300毫秒。

定时器时长并不计入Java请求的响应时间,但被计入"事务控制器"的总时间

如果你坚持看到这里,并且对loadrunner的think time和pacing这两个概念还有记忆的话

可以有答案了:对于"java请求"这个sampler来说,定时器相当于loadrunner中的pacing;对于"事务控制器"来说,定时器相当于loadrunner中的think time。

通常说的响应时间,应该大部分情况下是针对某一个具体的sampler(http请求),而不是针对一组sampler组合的事务

2、高斯随机定时器

基本同上,只是定时器的延时时间是在指定范围内的正态分布。

3、均匀随机定时器

同上,延时时间是在指定范围内,并且每个时间取值的概率相同。

4、固定吞吐量定时器

可以让Jmeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行。

吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组,并且计算吞吐量的依据可以是最近一次线程的执行时延。

这种定时器在特定的场景下,还是很有用的。

5、同步定时器

在该定时器处,使线程等待,一直到指定的线程个数达到后,再一起释放。可以在瞬间制造出很大的压力。

它和loadrunner的集合点(rendezvous point)差不多的功能。

6、BeanShell定时器

这个定时器,平时用不上。但实际上,它是最强大的,因为可以自己编码实现想要干的任何事。有复杂需求时,就要靠它了。

例如,希望在每个线程执行完等待一下,或者希望在某个变量达到指定值的时候等待一下。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
猫猫不是喵喵.1 天前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
专注仿真2 天前
自动化测试实战项目开发:从零搭建一套可落地的测试框架
自动化测试
秋天的怀念_David4 天前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
fish_zzzz4 天前
笔记-论数据结构2
1024程序员节
普通人65 天前
PHP文件读写完全指南
开发语言·php·1024程序员节
Martina_03215 天前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
五网6 天前
软件测试用例模板怎么写:从用例设计到执行记录的全套指南
软件测试·论文阅读·全文检索·测试用例·论文笔记·用例设计·用例模板
ShuangNaoPai6 天前
饱和品类的心智词生成:从“新米”认知到“五新米”的判定路由
人工智能·程序人生·产品·思维·品牌营销
星云_byto6 天前
CSS布局
人工智能·机器学习·目标跟踪·1024程序员节
浮尘笔记8 天前
JetBrains差异设置被自动勾选的排查与根治实录
经验分享·程序人生·编辑器·intellij idea·phpstorm·webstorm