Hi All,

I've found some unusual behavior when I use a loop controller inside a for 
each controller. I think it may be a bug, but hopefully someone can explain 
why it's happening:

I can demonstrate it by using the following test plan:



thread group
        -User defined variables
        -ForEach Controller
                -Debug Sampler 1
                -Loop Controller
                        -Debug Sampler 2
View Results Tree


User defined variables element contains the following values:
val_1           1
val_2           2
val_3           0
val_4           0
val_5           3
val_6           0
val_7           7
val_8           8

The basic objective of the test plan is: "for each `val`, loop that number of 
times"

ForEach Controller is configured:
Input Variable Prefix: val
Output Variable Name: this.val
Add '_' before number: yes

Loop Controller is configured:
Loop Count: ${this.val}
Forever: No

I expected this to produce the following sequence in the View Results tree:
Debug Sampler 1
Debug Sampler 2
Debug Sampler 1
Debug Sampler 2
Debug Sampler 2
Debug Sampler 1
Debug Sampler 1
Debug Sampler 1
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 1
Debug Sampler 1
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 1
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2
Debug Sampler 2

but instead is produced the following results:
Debug Sampler 1
Debug Sampler 2
Debug Sampler 1
Debug Sampler 2
Debug Sampler 2
Debug Sampler 1
Debug Sampler 2
Debug Sampler 1
Debug Sampler 1
Debug Sampler 1
Debug Sampler 1
Debug Sampler 1

It's really weird, because in the first case where the loop controller will be 
0 (third iteration, val_3=0), Debug Sampler 2 is executed once, but it lists 
`this.val=0`, which is the correct value, but since it's 0, the loop 
controller should not have been entered at all, right? It seems too that once 
a loop controller has been executed with a value of 0, any subsequent 
iterations of the foreach controller which should enter the loop controller 
(i.e. iterations 5, 7, and 8 of the foreach) do not enter it.

Thoughts?

Regards,
Noel

Reply via email to