On 29/09/2008, Mark24 <[EMAIL PROTECTED]> wrote:
>
> Thanks Sebb. I've tried your suggestions but had hit another snag:
>
> I call Jmeter at the command window by "Jmeter -Jsecurityid=123" to create a
> parameter securityid with default value "123".
>
>
> + Test Plan
> ++ Thread Group1
> +++ WebService(SOAP) Request1
> ++++ XPath Extractor
> ++++ BeanShell PostProcessor1
>
> ++ Thread Group2
> +++ WebService(SOAP) Request2
> ++++ BeanShell PostProcessor2
>
>
> In Thread Group1, XPath Extractor I set:
> - Reference Name = theSID
> - Xpath query = //sid
> - Default Value = "nomatchfound"
>
> In Thread Group1, BeanShell PostProcessor1 I set:
> - Reset Interpreter = False
> - Parameters = ${theSID}
> - Script = ${__setProperty(securityid,bsh.args[0],true)};
> print(${__P(securityid)});
>
>
> In Thread Group2, BeanShell PostProcessor2 I set:
> - Reset Interpreter = False
> - Parameters =
> - Script = print(${__P(securityid)});
>
>
> I run this Test Plan, it extracts //sid (say, "123456", sets securityid to
> "123456" and prints to console "123456" in BeanShell PostProcessor1, but in
> Thread Group2's BeanShell PostProcessor2 it doesn't print to console but
> instead logs an error in jmeter.log mentioning "Error invoking bsh method:
> eval Sourced file: inline evaluation of: ''print(bsh.args[0]);''"
>
>
> I expect print(${__P(securityid)}); in BeanShell PostProcessor2 to print
> "123456" but is looks like it is evaluating bsh.args[0] and because it
> doesn't exist here it errors out.
>
> What am i doing wrong?
Neither JMeter nor BeanShell will add ''print(bsh.args[0]);'' to the
script by themselves, so there must be an error in your BeanShell
script - or perhaps initialisation file.
>
>
>
>
> sebb-2-2 wrote:
> >
> > On 26/09/2008, Mark24 <[EMAIL PROTECTED]> wrote:
> >>
> >> Thanks for your reply sebb, you are very informative (i've been reading
> >> your
> >> answer to questions quite often over the last 3 days ive been using
> >> JMeter).
> >>
> >> My grand plan is to regression test my company's MS web services by
> >> loging
> >> in once to get the security id, then spawn multiple virtual users to
> >> work
> >> together to call the other WS methods using a collection of inputs from
> >> a
> >> database. certain values from the responses are planned to be inserted
> >> into
> >> a database to later run some sql to compare these values against a test
> >> baseline database.
> >>
> >> I was using one thread group which was spawning a single user to to get
> >> the
> >> security id, then the second thread group would spawn n virtual users.
> >>
> >
> > OK, it was not clear that you wanted to use a single id in multiple
> > threads.
> >
> > In which case, use two thread groups, and set them to run one after
> > another.
> >
> > Extract the id you want to use, and save it as a JMeter Property using
> > the function:
> >
> > http://jakarta.apache.org/jmeter/usermanual/functions.html#__setProperty
> >
> > You can then use the __P() function to retrieve the value in the
> > second thread group.
> >
> > Or if you already have a lot of samplers using a variable, just add a
> > user parameters pre-processor to the first one and copy the property
> > to the variable there.
> >
> >> I'm possibly approaching the solution to my problem incorrectly so
> >> please
> >> comment or point me to some reading material. My Jmeter textbook has
> >> been
> >> order on Amazon but until then, the jmeter docs and forums like this are
> >> my
> >> friends.
> >
> > There's also quite a lot of information on the Wiki.
> >
> >> Thanks again Sebb,
> >>
> >> Mark
> >>
> >>
> >> sebb-2-2 wrote:
> >> >
> >> > On 26/09/2008, Mark24 <[EMAIL PROTECTED]> wrote:
> >> >>
> >> >> In Jmeter 2.3.2, how do I pass a value obtained in "Thread Group 1"
> >> >> (with
> >> >> "XPath Extractor" from a "WebService(SOAP) Request") to "Thread
> >> Group 2"
> >> >> for
> >> >> use as input to "WebService(SOAP) Request"
> >> >>
> >> >> Graphically:
> >> >>
> >> >> "Thread Group 1"
> >> >> "WebService(SOAP) Request" //login() WS method which returns a
> >> >> security
> >> >> ID
> >> >> "XPath Extractor" //extract security ID to security_ID variable
> >> >> "Thread Group 2"
> >> >> "WebService(SOAP) Request" //use ${security_ID} as a parameter to
> >> >> this
> >> >> Search() WS method
> >> >>
> >> >>
> >> >> Variable security_ID declared in "Thread Group 1"'s "XPath
> >> Extractor"
> >> >> seems
> >> >> to be very narrowly scoped as "${security_ID}" is literally used as
> >> >> input to
> >> >> "Thread Group 2"'s "WebService(SOAP) Request" instead of the value
> >> of
> >> >> ${security_ID}.
> >> >>
> >> >> I've tried declaring the security_ID variable in "Test Plan to use"
> >> but
> >> >> this
> >> >> doesn't work (${security_ID} resolves to the value i set during
> >> >> declaration
> >> >> instead of the extracted value).
> >> >
> >> > Why not use the same Thread Group for the two SOAP requests?
> >> >
> >> > e.g.
> >> >
> >> > Thread Group
> >> > + SOAP
> >> > + + XPath
> >> > + SOAP using variable
> >> >
> >> > If you want to run multiple requests with the same variable, just add
> >> > them at the end, or enclose in a loop:
> >> >
> >> > Thread Group
> >> > + SOAP
> >> > + + XPath
> >> > + Loop
> >> > + + SOAP using variable
> >> >
> >> >> Thanks for any help,
> >> >> Mark
> >> >>
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://www.nabble.com/how-do-I-pass-a-value-obtained-in-%22Thread-Group-1%22-%28with-%22XPath-Extractor%22-from-a-%22WebService%28SOAP%29-Request%22%29-to-%22Thread-Group-2%22-for-use-as-input-to-%22WebService%28SOAP%29-Request%22-tp19683794p19683794.html
> >> >> Sent from the JMeter - User mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >>
> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>
> >> >>
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> > For additional commands, e-mail: [EMAIL PROTECTED]
> >> >
> >> >
> >> >
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/how-do-I-pass-a-value-obtained-in-%22Thread-Group-1%22-%28with-%22XPath-Extractor%22-from-a-%22WebService%28SOAP%29-Request%22%29-to-%22Thread-Group-2%22-for-use-as-input-to-%22WebService%28SOAP%29-Request%22-tp19683794p19686226.html
> >>
> >> Sent from the JMeter - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
>
> --
>
> View this message in context:
> http://www.nabble.com/how-do-I-pass-a-value-obtained-in-%22Thread-Group-1%22-%28with-%22XPath-Extractor%22-from-a-%22WebService%28SOAP%29-Request%22%29-to-%22Thread-Group-2%22-for-use-as-input-to-%22WebService%28SOAP%29-Request%22-tp19683794p19718151.html
>
> Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]