我正在编写一个测试,等待使用while控制器的特定响应。 更确切地说,我用jmeter发送消息,然后该消息获得状态“发送”,并且在大约30秒后它将状态改变为“已接收”。因此,使用while控制器我会尝试获取该消息需要多长时间才能收到。
当我执行这个测试时,它会在http请求后被卡住,它以绿色执行,接下来没有任何反应,这里可能出现什么问题?
更新---------------------------------------------- -----------------------
Siunčiamas=发送
尝试了不同的东西。控制器值更改为 -
时更改$ {__ javaScript(“$ {State}”==“Siunčiamas”,)}
和reg表达式提取器值为 -
class =“label-primary label”id =“parentSyncState”>(Siunčiamas)<
之前,而控制器我给状态变量值“Siunčiamas”
现在它停留在http请求上,但我在它之后添加了debug sampler,所以它每隔5秒就会重复一次。但它应循环,直到正则表达式提取器找不到所需的值并返回不等于“Siunčiamas”的默认值,因此当控制器失败时。我在这里没有得到什么吗?
答案 0 :(得分:1)
它不是循环方式,条件在while控制器不满足,不返回true
。
顺便说一下,${__javaScript("${State}".indexOf("Received") == -1,)}
表示当State
不包含Received
时条件为真。
indexOf
返回-1
,以防在父(州)中找不到字符串第一次,它运行是因为,您将State
设置为not set yet
,其中条件返回true
(indexOf返回-1,因为“尚未设置”不包含“已接收”)
当我执行此测试时,它会在http请求后卡住,即 以绿色执行,接下来没有任何事情发生,可能是什么问题 这里吗?
测试是停止还是仍在运行?
number of times http request has been sent* (http request response time + 5 seconds)
)获取“已接收”消息所需的时间。 注意:将控制器作为子项添加到事务控制器以获取总体执行时间。添加Debug Sampler以了解状态变量使用Reg Ex Extractor捕获的值。
以下是我如何理解该场景的屏幕截图。
与我们分享您的测试计划以帮助您。