Jmeter 如何在IF控制器内运行多个HTTP采样器

Jmeter 如何在IF控制器内运行多个HTTP采样器,jmeter,Jmeter,我有一个场景,在if控制器中有两个http采样器 当if条件为true时,它只运行第一个HTTP采样器,而不执行HTTP采样器2 as example:- if-controller ( condition true, none of the check-box got checked) ++HTTP sampler1 ++HTTP sampler2 输出:-仅运行HTTP采样器1。即使采样器1的结果为通过状态,它也不会执行采样器2 我知道我可以把它分成两个if控制器,这样可以很好

我有一个场景,在if控制器中有两个http采样器

当if条件为true时,它只运行第一个HTTP采样器,而不执行HTTP采样器2

as example:- 
if-controller ( condition true, none of the check-box got checked)
  ++HTTP sampler1
  ++HTTP sampler2 
输出:-仅运行HTTP采样器1。即使采样器1的结果为通过状态,它也不会执行采样器2

我知道我可以把它分成两个if控制器,这样可以很好地工作。但我不想那样。因为如果我说有5个HTTP采样器在if控制器的基础上执行,那么我不应该将其拆分为5个if控制器,每个控制器都嵌入了单独的HTTP采样器

if-controller ( condition true, none of the checkbox got checked)
   ++HTTP sampler1
if-controller ( condition true, none of the checkbox got checked)
   ++HTTP sampler2 

是否有一种方法可以将所有HTTP采样器合并到IF控制器下面并执行。我尝试使用简单控制器,但没有成功。

如果控制器将运行其所有子采样器。 您使用的是哪个版本的JMeter?你确定他们不跑吗? 显示测试计划和2个采样器配置

我刚刚用2.9测试过,没问题

您的If控制器状况似乎有问题

${reservationCode}!=null&&${serviceId}!=null&&${code}!=空的

应该是:

“${reservationCode}”!=“null”&&“${serviceId}”!=“null”&&“${code}”!=“空”

这是我愚蠢的错误:-)。我在for控制器内部添加了if控制器,以便运行几个http采样器,然后退出for循环。然而,为了退出for循环,我添加了BSF后处理器,这导致了问题,因为在if条件中运行了第一个http采样器,然后BSF后处理器被调用,并且正在退出for循环。因此,它没有在if循环中执行第二个http采样器。我把bsf后处理器改为bsf采样器,它工作得很好

 for loop
    if condition 
       http sampler 1
       http sampler 2
       BSF post processor for exit from for loop
改为

 for loop
    if condition 
       http sampler 1
       http sampler 2
       BSF Sampler for exit from for loop

我更新了我的答案,如果可以,请回答不幸的是它没有工作。但是,日志文件中没有错误。HTTP采样器2仍然没有运行。