Greetings!

I have a test plan that uses a RE Extractor to convert the values of the HTML 
select element to the input values of the ForEach controller. These values are 
of the form X,M,N~Y,A,B~...~Z,C,D, and I can see from the log that they are 
properly generated. The reference name for these values is tuple. The ForEach 
controller Input variable prefix is tuple, and the Output variable name is 
threetuple.

I am emulating Javascript which breaks up the value of selected option and 
submits an HTTP request with the values of each of thre-tuple as parameter. To 
that end, I have another ForEach controller as a child of the first one with 
the BeanShell preprocessor:

String[] tuples = vars.get("threetuple_1").split("~");

List list = new ArrayList();

for (int i = 0; i < tuples.length; i++) {
    list.add(tuples[i].split(","));
}

vars.put("params", list);

The inner ForEach controller has a HTTP Request sampler with a BeanShell 
preprocessor whose job is to break up the three-tuple into individual 
parameters.

In short, no HTTP sampler ever executes, and the log shows that the inner 
ForEach controller receives null input.

I can see in the log, what I presume to be invocation of the outer ForEach:

... jmeter.control.ForEach resultstring isDone=SAR,713,0~RCC,988,343...


and the inner ForEach:

... jmeter.control.ForeachController: No entries found - null first entry: 
params_1

The questions are: is there any way of knowing why the BeanShell preprocessor 
did not execute?

Once that problem resolved, I need to tackle the business of the ForEach output 
variable which gets loop index appended to it, so how can the BeanShell "know" 
which variable to use?

Any suggestions?

Thank you!

-a

Reply via email to