You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Andrzej Doyle <an...@andrzejdoyle.co.uk> on 2007/03/02 13:34:01 UTC
Array variables/dynamically defined variables in JMeter?
Hello all,
I'm currently working on developing JMeter tests for my web application but
have come up against a bit of a problem. I'm using Tapestry so there is some
dynamic generation of URLs, which I can get around by using the regex
post-processor to pull out the IDs I need. All good so far.
However, what I want to do now is simulate users clicking on random elements
in my left-hand pane. When the pane is rendered I can pull out all of the
links by using the right regex and setting the match number to -1. This
populates the variables tapestryPvalue_1, tapestryPvalue_2 etc.
So now I'd like to somehow have a subsequent request randomly choose one of
these variables to use. I noticed the ForEach controller, which is the kind
of thing I want, except I only want to use one of the variables.
Unfortunately I can't find any documentation about dynamically building up
variable names in JMeter; I tried the natural way of doing it and defined a
parameter as "${tapestryPvalue_${one}}" (having previously set up a user
defined variable called "one" that evaluated to "1") but that got sent
through as the literal string and not evaluated as I hoped. I also tried
some javascript indirection with
${__javascript("${tapestryPvalue_"+"${one}"+"}")}, noting that variables had
to be quoted so hopefully the JS engine would resolve the ${one} before
appending it, but no such luck.
At the moment this is academic anyway, as I couldn't get the __Random function
to accept ${tapestryPvalue_matchNr} as the maximum value (the logs indicated
a NumberFormatException was thrown which suggests this must be a literal).
My initial plan was to use this function to generate a random 'index', then
pass that variable in where I was using ${one} in the above paragraph.
Am I going about this the wrong way? Is there a way to dynamically access
elements of an array-type variable like this in JMeter, or am I pushing the
envelope too hard with this one? Any comments (including suggestions on
refactoring to work around this issue) are welcome.
Thanks,
Andrzej
Re: Array variables/dynamically defined variables in JMeter?
Posted by sebb <se...@gmail.com>.
As it happens this was covered in the thread "Nested variables" in October 2006.
S.
On 02/03/07, Andrzej Doyle <an...@andrzejdoyle.co.uk> wrote:
> Hello all,
>
> I'm currently working on developing JMeter tests for my web application but
> have come up against a bit of a problem. I'm using Tapestry so there is some
> dynamic generation of URLs, which I can get around by using the regex
> post-processor to pull out the IDs I need. All good so far.
>
> However, what I want to do now is simulate users clicking on random elements
> in my left-hand pane. When the pane is rendered I can pull out all of the
> links by using the right regex and setting the match number to -1. This
> populates the variables tapestryPvalue_1, tapestryPvalue_2 etc.
>
> So now I'd like to somehow have a subsequent request randomly choose one of
> these variables to use. I noticed the ForEach controller, which is the kind
> of thing I want, except I only want to use one of the variables.
> Unfortunately I can't find any documentation about dynamically building up
> variable names in JMeter; I tried the natural way of doing it and defined a
> parameter as "${tapestryPvalue_${one}}" (having previously set up a user
> defined variable called "one" that evaluated to "1") but that got sent
> through as the literal string and not evaluated as I hoped. I also tried
> some javascript indirection with
> ${__javascript("${tapestryPvalue_"+"${one}"+"}")}, noting that variables had
> to be quoted so hopefully the JS engine would resolve the ${one} before
> appending it, but no such luck.
>
> At the moment this is academic anyway, as I couldn't get the __Random function
> to accept ${tapestryPvalue_matchNr} as the maximum value (the logs indicated
> a NumberFormatException was thrown which suggests this must be a literal).
> My initial plan was to use this function to generate a random 'index', then
> pass that variable in where I was using ${one} in the above paragraph.
>
>
> Am I going about this the wrong way? Is there a way to dynamically access
> elements of an array-type variable like this in JMeter, or am I pushing the
> envelope too hard with this one? Any comments (including suggestions on
> refactoring to work around this issue) are welcome.
>
> Thanks,
> Andrzej
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org