Dear users,

Previously I have been asking about this topic, but I can't quite wrap my head 
around it, I'm sure I'm missing something obvious, but maybe it helps to be 
very specific. 
For my testscript I need to 'calculate' some parameter values that are to be 
sent to the application I'm testing (ie: I'm creating HTTP Requests 
http://host?par1=val1&par2=val2 etc, and the val1 and val2 need to be 
calculated based on a set of arguments)

From what I get from the manuals, it should be possible to script the 
calculating functions in BeanShell in a single file, say 'myscripts.bsh', read 
these functions into JMeter once at the start of the script, and call these 
functions with their appropriate arguments when creating a HTTP Request:
* is this indeed a possible route to take? Or is there another way that is 
preferred?
* if yes: how to ensure that I read the BeanShell script only once at startup? 
In other words: which component to add as a child of which component in the 
testplan? Or maybe is it better to add a User Defined Variable to the test 
plain with the value of __BeanShell(source('myscripts.bsh'))?
* Once loaded: how to access a specific function from that file and how to pass 
arguments to that function? I have seen examples that define a variable 
BSSCRIPT as ${__BeanShell(source('myscripts.bsh'))} and then call this script 
as ${BSSCRIPT}. However, that would run the whole script, whereas I wish to 
call a specific function _in_ that script, and on top of that, to pass 
variables to that function 

To say the same in other words: in sect 19.5.13 on 
http://jmeter.apache.org/usermanual/functions.html there is a reference to the 
BeanShellFunction.bshrc, but it is not explained how to call for instance the 
getprop() function that is defined there, and how to pass specific values to 
that function. I'm looking for just how to achieve that, with the addition that 
I'd like my testscript to explicitly read my BeanShell script file (once) at 
the start of the test instead of configuring it as beanshell.function.init.

Hopefully I've been precize enough for people to point out what probably is 
quite obvious :P

Yours sincerely,
Jakob van Bethlehem

Reply via email to