我正在为一组在特定页面中调用的API进行性能测试。目前,所有API请求都是按照我在脚本中添加它们的顺序运行的。但是,当观察开发工具的网络选项卡中的瀑布部分时,只有在调用特定的API并且API收到响应后,才会调用某些API。问题是,我无法添加任何计时器,因为延迟不是恒定的,而且会随时间变化。例如,请参阅下图中API调用的瀑布部分:
网络选项卡中API调用的屏幕截图
这里,搜索API只有在调用autoComplete API并得到响应之后才被调用。contentUsers和count API也是如此(取决于搜索API的响应,必须等到那时(。最后调用fetch API。我想在我的JMeter脚本中实现同样的功能,这可能吗?
the delay is not constant and varies from time to time
-有JMeter定时器可以产生不同的延迟。我的期望是,发送下一个请求之间的时间在某种程度上与上一个调用响应时间和JavaScript运行时事件循环的行为有关。即使是恒定定时器也不会是"0";常数";如果在那里使用__Random((函数。然而,我相信你可以忽略瀑布图中请求之间的延迟,如果你检查请求的开始时间,你会发现它要么不存在,要么大约有几毫秒,而JMeter也需要一些时间来准备和发送请求- 瀑布中同时触发的那些请求应该同时执行(在Firefox中,该设置被称为
network.http.speculative-parallel-limit
,默认为6
,因此您需要将需要并发的请求放在并行控制器下