我创建了一个 jmeter 脚本,其中包含三个流程阶段 - 启动流程、编辑流程和修改流程。
我已使用 JSON 提取器从预请求之一中提取了此流程的状态。
我还为每个流添加了三个 if 控制器,并在 if 控制器内添加了相应流的请求
开始流程:${declarationStatus} == "null"
编辑流程:${declarationStatus} == "PREPARE"
修改流程:${declarationStatus} == "PROCESS"
然后在 if 控制器之后添加一些事务控制器。
但是在执行脚本流程时,jmeter 会跳过 IF 控制器执行并在 IF 控制器之后执行事务控制器(在事务控制器中添加请求)。
在脚本中,所有请求都将被执行,不包括控制器的请求。
如何根据提取的值执行流程?
我在脚本中添加了调试采样器,值已正确提取,但如果控制器无法工作。
JMeter 不会“跳过”If 控制器,而是您的表达式应该是 JMeter 函数或变量 的计算结果不为
true
尝试将其包装到 __jexl3() 函数中,例如:
${__jexl3( ${declarationStatus} == "PREPARE",)}
JMeter 将不再“跳过”您的 If 控制器。