Gentlemen (are there any female contributors yet?),

I recently checked in some changes to how the engine
builds functions, which required some changes to how
functions are written. Now, CompoundFunction (which is
now called CompoundVariable) is responsible for
parsing the function arguments, handling recursion,
and passes in a Collection of arguments to the
function (instead of just passing in the parameters
string). Each parameter is a CompoundVariable and can
be resolved at runtime by calling execute().
CompoundFunction was renamed because it's taking on a
different role of building and resolving functions,
strings, etc. at runtime...It has evolved.

The change we made to how functions are written is
now, functions have to be encoded (not that
non-encoded functions ever really worked). The
encoding is a lot simpler than what the function
dialog was using(URLEncoder). The encoding simply
takes characters that are special to JMeter and
escapes them (${}(),\) making it easy to write an
encoded function by hand.

For instance, if a regex function referenced a
variable it would now look something like:
${__regexFunction(\$\{pattern\},\$1\$,1,,,)}. The
Function Helper Dialog has been updated as well as all
of the standard functions.

I'll try to get this in the docs this week.

Any questions?

Thad

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to