You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by chris <hi...@gmx.at> on 2007/03/14 19:53:02 UTC

problem with ${__BeanShell(...))} method in httpsampler

hi!
in my BeanShellFunction.bshrc file i have following 2 functions defined:

String methodOne(String foo) {
 return foo;
}

String methodTwo(String foo, String bar) {
 return foo + " " + bar;
}

calling the first method in a http request (as a parameter) i use 
${__BeanShell(methodOne("foo"))};
the first method works.
the second method: ${__BeanShell(methodTwo("foo","bar"))} does NOT work.

does calling a beanshell method only work with exact one parameter??

i attached a testscript for this problem. the 2 functions must be defined in 
BeanShellFunction.bshrc.
moreover, in jmeter.properties you have to activate 
beanshell.function.init=BeanShellFunction.bshrc.

thanks in advance,
   chris 


begin 666 beanshell_test.jmx
M/&IM971E<E1E<W10;&%N('9E<G-I;VX](C$N,B(@<')O<&5R=&EE<STB,2XX
M(CX*(" \:&%S:%1R964^"B @(" \5&5S=%!L86X@9W5I8VQA<W,](E1E<W10
M;&%N1W5I(B!T97-T8VQA<W,](E1E<W10;&%N(B!T97-T;F%M93TB5&5S="!0
M;&%N(B!E;F%B;&5D/2)T<G5E(CX*(" @(" @/&5L96UE;G10<F]P(&YA;64]
M(E1E<W10;&%N+G5S97)?9&5F:6YE9%]V87)I86)L97,B(&5L96UE;G14>7!E
M/2)!<F=U;65N=',B(&=U:6-L87-S/2)!<F=U;65N='-086YE;"(@=&5S=&-L
M87-S/2)!<F=U;65N=',B('1E<W1N86UE/2)"96YU='IE<B!D969I;FEE<G1E
M(%9A<FEA8FQE;B(@96YA8FQE9#TB=')U92(^"B @(" @(" @/&-O;&QE8W1I
M;VY0<F]P(&YA;64](D%R9W5M96YT<RYA<F=U;65N=',B+SX*(" @(" @/"]E
M;&5M96YT4')O<#X*(" @(" @/'-T<FEN9U!R;W @;F%M93TB5&5S=%!L86XN
M=7-E<E]D969I;F5?8VQA<W-P871H(CX\+W-T<FEN9U!R;W ^"B @(" @(#QB
M;V]L4')O<"!N86UE/2)497-T4&QA;BYS97)I86QI>F5?=&AR96%D9W)O=7!S
M(CYF86QS93PO8F]O;%!R;W ^"B @(" @(#QB;V]L4')O<"!N86UE/2)497-T
M4&QA;BYF=6YC=&EO;F%L7VUO9&4B/F9A;'-E/"]B;V]L4')O<#X*(" @(" @
M/'-T<FEN9U!R;W @;F%M93TB5&5S=%!L86XN8V]M;65N=',B/CPO<W1R:6YG
M4')O<#X*(" @(#PO5&5S=%!L86X^"B @(" \:&%S:%1R964^"B @(" @(#Q4
M:')E861'<F]U<"!G=6EC;&%S<STB5&AR96%D1W)O=7!'=6DB('1E<W1C;&%S
M<STB5&AR96%D1W)O=7 B('1E<W1N86UE/2)4:')E860@1W)U<'!E(B!E;F%B
M;&5D/2)T<G5E(CX*(" @(" @(" \;&]N9U!R;W @;F%M93TB5&AR96%D1W)O
M=7 N<W1A<G1?=&EM92(^,3$W,S@Y.# Q,C P,#PO;&]N9U!R;W ^"B @(" @
M(" @/'-T<FEN9U!R;W @;F%M93TB5&AR96%D1W)O=7 N9&5L87DB/CPO<W1R
M:6YG4')O<#X*(" @(" @(" \<W1R:6YG4')O<"!N86UE/2)4:')E861'<F]U
M<"YD=7)A=&EO;B(^/"]S=')I;F=0<F]P/@H@(" @(" @(#QS=')I;F=0<F]P
M(&YA;64](E1H<F5A9$=R;W5P+FYU;5]T:')E861S(CXQ/"]S=')I;F=0<F]P
M/@H@(" @(" @(#QB;V]L4')O<"!N86UE/2)4:')E861'<F]U<"YS8VAE9'5L
M97(B/F9A;'-E/"]B;V]L4')O<#X*(" @(" @(" \96QE;65N=%!R;W @;F%M
M93TB5&AR96%D1W)O=7 N;6%I;E]C;VYT<F]L;&5R(B!E;&5M96YT5'EP93TB
M3&]O<$-O;G1R;VQL97(B(&=U:6-L87-S/2),;V]P0V]N=')O;%!A;F5L(B!T
M97-T8VQA<W,](DQO;W!#;VYT<F]L;&5R(B!T97-T;F%M93TB5VEE9&5R:&]L
M=6YG<R!+;VYT<F]L;&5R(B!E;F%B;&5D/2)T<G5E(CX*(" @(" @(" @(#QS
M=')I;F=0<F]P(&YA;64](DQO;W!#;VYT<F]L;&5R+FQO;W!S(CXQ/"]S=')I
M;F=0<F]P/@H@(" @(" @(" @/&)O;VQ0<F]P(&YA;64](DQO;W!#;VYT<F]L
M;&5R+F-O;G1I;G5E7V9O<F5V97(B/F9A;'-E/"]B;V]L4')O<#X*(" @(" @
M(" \+V5L96UE;G10<F]P/@H@(" @(" @(#QL;VYG4')O<"!N86UE/2)4:')E
M861'<F]U<"YE;F1?=&EM92(^,3$W,S@Y.# Q,C P,#PO;&]N9U!R;W ^"B @
M(" @(" @/'-T<FEN9U!R;W @;F%M93TB5&AR96%D1W)O=7 N;VY?<V%M<&QE
M7V5R<F]R(CYC;VYT:6YU93PO<W1R:6YG4')O<#X*(" @(" @(" \<W1R:6YG
M4')O<"!N86UE/2)4:')E861'<F]U<"YR86UP7W1I;64B/C$\+W-T<FEN9U!R
M;W ^"B @(" @(#PO5&AR96%D1W)O=7 ^"B @(" @(#QH87-H5')E93X*(" @
M(" @(" \2%144%-A;7!L97(@9W5I8VQA<W,](DAT='!497-T4V%M<&QE1W5I
M(B!T97-T8VQA<W,](DA45%!386UP;&5R(B!T97-T;F%M93TB9V]O9VQE(B!E
M;F%B;&5D/2)T<G5E(CX*(" @(" @(" @(#QS=')I;F=0<F]P(&YA;64](DA4
M5%!386UP;&5R+G!A=&@B/CPO<W1R:6YG4')O<#X*(" @(" @(" @(#QS=')I
M;F=0<F]P(&YA;64](DA45%!386UP;&5R+FUE=&AO9"(^1T54/"]S=')I;F=0
M<F]P/@H@(" @(" @(" @/&)O;VQ0<F]P(&YA;64](DA45%!386UP;&5R+G5S
M95]K965P86QI=F4B/G1R=64\+V)O;VQ0<F]P/@H@(" @(" @(" @/'-T<FEN
M9U!R;W @;F%M93TB2%144%-A;7!L97(N<')O=&]C;VPB/CPO<W1R:6YG4')O
M<#X*(" @(" @(" @(#QB;V]L4')O<"!N86UE/2)(5%104V%M<&QE<BYF;VQL
M;W=?<F5D:7)E8W1S(CYT<G5E/"]B;V]L4')O<#X*(" @(" @(" @(#QS=')I
M;F=0<F]P(&YA;64](DA45%!386UP;&5R+G!O<G0B/CPO<W1R:6YG4')O<#X*
M(" @(" @(" @(#QE;&5M96YT4')O<"!N86UE/2)(5%10<V%M<&QE<BY!<F=U
M;65N=',B(&5L96UE;G14>7!E/2)!<F=U;65N=',B(&=U:6-L87-S/2)(5%10
M07)G=6UE;G1S4&%N96PB('1E<W1C;&%S<STB07)G=6UE;G1S(B!T97-T;F%M
M93TB0F5N=71Z97(@9&5F:6YI97)T92!687)I86)L96XB(&5N86)L960](G1R
M=64B/@H@(" @(" @(" @(" \8V]L;&5C=&EO;E!R;W @;F%M93TB07)G=6UE
M;G1S+F%R9W5M96YT<R(^"B @(" @(" @(" @(" @/&5L96UE;G10<F]P(&YA
M;64](B(@96QE;65N=%1Y<&4](DA45%!!<F=U;65N="(^"B @(" @(" @(" @
M(" @(" \<W1R:6YG4')O<"!N86UE/2)!<F=U;65N="YM971A9&%T82(^/3PO
M<W1R:6YG4')O<#X*(" @(" @(" @(" @(" @(#QS=')I;F=0<F]P(&YA;64]
M(D%R9W5M96YT+G9A;'5E(CXD>U]?0F5A;E-H96QL*&UE=&AO9$]N92@F<75O
M=#MF;V\F<75O=#LI*7T\+W-T<FEN9U!R;W ^"B @(" @(" @(" @(" @(" \
M8F]O;%!R;W @;F%M93TB2%144$%R9W5M96YT+G5S95]E<75A;',B/G1R=64\
M+V)O;VQ0<F]P/@H@(" @(" @(" @(" @(" @/'-T<FEN9U!R;W @;F%M93TB
M07)G=6UE;G0N;F%M92(^<3$\+W-T<FEN9U!R;W ^"B @(" @(" @(" @(" @
M(" \8F]O;%!R;W @;F%M93TB2%144$%R9W5M96YT+F%L=V%Y<U]E;F-O9&4B
M/F9A;'-E/"]B;V]L4')O<#X*(" @(" @(" @(" @(" \+V5L96UE;G10<F]P
M/@H@(" @(" @(" @(" @(#QE;&5M96YT4')O<"!N86UE/2(B(&5L96UE;G14
M>7!E/2)(5%1007)G=6UE;G0B/@H@(" @(" @(" @(" @(" @/'-T<FEN9U!R
M;W @;F%M93TB07)G=6UE;G0N;65T861A=&$B/CT\+W-T<FEN9U!R;W ^"B @
M(" @(" @(" @(" @(" \<W1R:6YG4')O<"!N86UE/2)!<F=U;65N="YV86QU
M92(^)'M?7T)E86Y3:&5L;"AM971H;V14=V\H)G%U;W0[9F]O)G%U;W0[+"9Q
M=6]T.V)A<B9Q=6]T.RDI?3PO<W1R:6YG4')O<#X*(" @(" @(" @(" @(" @
M(#QB;V]L4')O<"!N86UE/2)(5%1007)G=6UE;G0N=7-E7V5Q=6%L<R(^=')U
M93PO8F]O;%!R;W ^"B @(" @(" @(" @(" @(" \<W1R:6YG4')O<"!N86UE
M/2)!<F=U;65N="YN86UE(CYQ,CPO<W1R:6YG4')O<#X*(" @(" @(" @(" @
M(" @(#QB;V]L4')O<"!N86UE/2)(5%1007)G=6UE;G0N86QW87ES7V5N8V]D
M92(^9F%L<V4\+V)O;VQ0<F]P/@H@(" @(" @(" @(" @(#PO96QE;65N=%!R
M;W ^"B @(" @(" @(" @(#PO8V]L;&5C=&EO;E!R;W ^"B @(" @(" @(" \
M+V5L96UE;G10<F]P/@H@(" @(" @(" @/'-T<FEN9U!R;W @;F%M93TB2%14
M4%-A;7!L97(N;6EM971Y<&4B/CPO<W1R:6YG4')O<#X*(" @(" @(" @(#QS
M=')I;F=0<F]P(&YA;64](DA45%!386UP;&5R+D9)3$5?1DE%3$0B/CPO<W1R
M:6YG4')O<#X*(" @(" @(" @(#QS=')I;F=0<F]P(&YA;64](DA45%!386UP
M;&5R+FUO;FET;W(B/F9A;'-E/"]S=')I;F=0<F]P/@H@(" @(" @(" @/'-T
M<FEN9U!R;W @;F%M93TB2%144%-A;7!L97(N9&]M86EN(CYW=W<N9V]O9VQE
M+F1E/"]S=')I;F=0<F]P/@H@(" @(" @(" @/'-T<FEN9U!R;W @;F%M93TB
M2%144%-A;7!L97(N1DE,15].04U%(CX\+W-T<FEN9U!R;W ^"B @(" @(" @
M(" \8F]O;%!R;W @;F%M93TB2%144%-A;7!L97(N875T;U]R961I<F5C=',B
M/F9A;'-E/"]B;V]L4')O<#X*(" @(" @(" \+TA45%!386UP;&5R/@H@(" @
M(" @(#QH87-H5')E92\^"B @(" @(" @/%)E<W5L=$-O;&QE8W1O<B!G=6EC
M;&%S<STB07-S97)T:6]N5FES=6%L:7IE<B(@=&5S=&-L87-S/2)297-U;'1#
M;VQL96-T;W(B('1E<W1N86UE/2)!<W-E<G1I;VX@4F5S=6QT<R(@96YA8FQE
M9#TB=')U92(^"B @(" @(" @(" \;V)J4')O<#X*(" @(" @(" @(" @/'9A
M;'5E(&-L87-S/2)386UP;&53879E0V]N9FEG=7)A=&EO;B(^"B @(" @(" @
M(" @(" @/'1I;64^=')U93PO=&EM93X*(" @(" @(" @(" @(" \;&%T96YC
M>3YT<G5E/"]L871E;F-Y/@H@(" @(" @(" @(" @(#QT:6UE<W1A;7 ^=')U
M93PO=&EM97-T86UP/@H@(" @(" @(" @(" @(#QS=6-C97-S/G1R=64\+W-U
M8V-E<W,^"B @(" @(" @(" @(" @/&QA8F5L/G1R=64\+VQA8F5L/@H@(" @
M(" @(" @(" @(#QC;V1E/G1R=64\+V-O9&4^"B @(" @(" @(" @(" @/&UE
M<W-A9V4^=')U93PO;65S<V%G93X*(" @(" @(" @(" @(" \=&AR96%D3F%M
M93YT<G5E/"]T:')E861.86UE/@H@(" @(" @(" @(" @(#QD871A5'EP93YT
M<G5E/"]D871A5'EP93X*(" @(" @(" @(" @(" \96YC;V1I;F<^9F%L<V4\
M+V5N8V]D:6YG/@H@(" @(" @(" @(" @(#QA<W-E<G1I;VYS/G1R=64\+V%S
M<V5R=&EO;G,^"B @(" @(" @(" @(" @/'-U8G)E<W5L=',^=')U93PO<W5B
M<F5S=6QT<SX*(" @(" @(" @(" @(" \<F5S<&]N<V5$871A/F9A;'-E/"]R
M97-P;VYS941A=&$^"B @(" @(" @(" @(" @/'-A;7!L97)$871A/F9A;'-E
M/"]S86UP;&5R1&%T83X*(" @(" @(" @(" @(" \>&UL/F9A;'-E/"]X;6P^
M"B @(" @(" @(" @(" @/&9I96QD3F%M97,^9F%L<V4\+V9I96QD3F%M97,^
M"B @(" @(" @(" @(" @/')E<W!O;G-E2&5A9&5R<SYF86QS93PO<F5S<&]N
M<V5(96%D97)S/@H@(" @(" @(" @(" @(#QR97%U97-T2&5A9&5R<SYF86QS
M93PO<F5Q=65S=$AE861E<G,^"B @(" @(" @(" @(" @/')E<W!O;G-E1&%T
M84]N17)R;W(^9F%L<V4\+W)E<W!O;G-E1&%T84]N17)R;W(^"B @(" @(" @
M(" @(" @/'-A=F5!<W-E<G1I;VY297-U;'1S1F%I;'5R94UE<W-A9V4^9F%L
M<V4\+W-A=F5!<W-E<G1I;VY297-U;'1S1F%I;'5R94UE<W-A9V4^"B @(" @
M(" @(" @(" @/&%S<V5R=&EO;G-297-U;'1S5&]3879E/C \+V%S<V5R=&EO
M;G-297-U;'1S5&]3879E/@H@(" @(" @(" @(" \+W9A;'5E/@H@(" @(" @
M(" @(" \;F%M93YS879E0V]N9FEG/"]N86UE/@H@(" @(" @(" @/"]O8FI0
M<F]P/@H@(" @(" @(" @/'-T<FEN9U!R;W @;F%M93TB9FEL96YA;64B/CPO
M<W1R:6YG4')O<#X*(" @(" @(" @(#QB;V]L4')O<"!N86UE/2)297-U;'1#
M;VQL96-T;W(N97)R;W)?;&]G9VEN9R(^9F%L<V4\+V)O;VQ0<F]P/@H@(" @
M(" @(#PO4F5S=6QT0V]L;&5C=&]R/@H@(" @(" @(#QH87-H5')E92\^"B @
M(" @(" @/%)E<W5L=$-O;&QE8W1O<B!G=6EC;&%S<STB5FEE=U)E<W5L='-&
M=6QL5FES=6%L:7IE<B(@=&5S=&-L87-S/2)297-U;'1#;VQL96-T;W(B('1E
M<W1N86UE/2)6:65W(%)E<W5L=',@5')E92(@96YA8FQE9#TB=')U92(^"B @
M(" @(" @(" \;V)J4')O<#X*(" @(" @(" @(" @/'9A;'5E(&-L87-S/2)3
M86UP;&53879E0V]N9FEG=7)A=&EO;B(^"B @(" @(" @(" @(" @/'1I;64^
M=')U93PO=&EM93X*(" @(" @(" @(" @(" \;&%T96YC>3YT<G5E/"]L871E
M;F-Y/@H@(" @(" @(" @(" @(#QT:6UE<W1A;7 ^=')U93PO=&EM97-T86UP
M/@H@(" @(" @(" @(" @(#QS=6-C97-S/G1R=64\+W-U8V-E<W,^"B @(" @
M(" @(" @(" @/&QA8F5L/G1R=64\+VQA8F5L/@H@(" @(" @(" @(" @(#QC
M;V1E/G1R=64\+V-O9&4^"B @(" @(" @(" @(" @/&UE<W-A9V4^=')U93PO
M;65S<V%G93X*(" @(" @(" @(" @(" \=&AR96%D3F%M93YT<G5E/"]T:')E
M861.86UE/@H@(" @(" @(" @(" @(#QD871A5'EP93YT<G5E/"]D871A5'EP
M93X*(" @(" @(" @(" @(" \96YC;V1I;F<^9F%L<V4\+V5N8V]D:6YG/@H@
M(" @(" @(" @(" @(#QA<W-E<G1I;VYS/G1R=64\+V%S<V5R=&EO;G,^"B @
M(" @(" @(" @(" @/'-U8G)E<W5L=',^=')U93PO<W5B<F5S=6QT<SX*(" @
M(" @(" @(" @(" \<F5S<&]N<V5$871A/F9A;'-E/"]R97-P;VYS941A=&$^
M"B @(" @(" @(" @(" @/'-A;7!L97)$871A/F9A;'-E/"]S86UP;&5R1&%T
M83X*(" @(" @(" @(" @(" \>&UL/F9A;'-E/"]X;6P^"B @(" @(" @(" @
M(" @/&9I96QD3F%M97,^9F%L<V4\+V9I96QD3F%M97,^"B @(" @(" @(" @
M(" @/')E<W!O;G-E2&5A9&5R<SYF86QS93PO<F5S<&]N<V5(96%D97)S/@H@
M(" @(" @(" @(" @(#QR97%U97-T2&5A9&5R<SYF86QS93PO<F5Q=65S=$AE
M861E<G,^"B @(" @(" @(" @(" @/')E<W!O;G-E1&%T84]N17)R;W(^9F%L
M<V4\+W)E<W!O;G-E1&%T84]N17)R;W(^"B @(" @(" @(" @(" @/'-A=F5!
M<W-E<G1I;VY297-U;'1S1F%I;'5R94UE<W-A9V4^9F%L<V4\+W-A=F5!<W-E
M<G1I;VY297-U;'1S1F%I;'5R94UE<W-A9V4^"B @(" @(" @(" @(" @/&%S
M<V5R=&EO;G-297-U;'1S5&]3879E/C \+V%S<V5R=&EO;G-297-U;'1S5&]3
M879E/@H@(" @(" @(" @(" \+W9A;'5E/@H@(" @(" @(" @(" \;F%M93YS
M879E0V]N9FEG/"]N86UE/@H@(" @(" @(" @/"]O8FI0<F]P/@H@(" @(" @
M(" @/'-T<FEN9U!R;W @;F%M93TB9FEL96YA;64B/CPO<W1R:6YG4')O<#X*
M(" @(" @(" @(#QB;V]L4')O<"!N86UE/2)297-U;'1#;VQL96-T;W(N97)R
M;W)?;&]G9VEN9R(^9F%L<V4\+V)O;VQ0<F]P/@H@(" @(" @(#PO4F5S=6QT
M0V]L;&5C=&]R/@H@(" @(" @(#QH87-H5')E92\^"B @(" @(#PO:&%S:%1R
M964^"B @(" \+VAA<VA4<F5E/@H@(#PO:&%S:%1R964^"CPO:FUE=&5R5&5S
'=%!L86X^"@``
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: problem with ${__BeanShell(...))} method in httpsampler

Posted by chris <hi...@gmx.at>.
thanks for the quick answer. i should have read the function reference in 
detail.
and sorry for the attachment :) will never happen again.

cheers,
   chris 




---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: problem with ${__BeanShell(...))} method in httpsampler

Posted by sebb <se...@gmail.com>.
On 14/03/07, chris <hi...@gmx.at> wrote:
> hi!
> in my BeanShellFunction.bshrc file i have following 2 functions defined:
>
> String methodOne(String foo) {
>  return foo;
> }
>
> String methodTwo(String foo, String bar) {
>  return foo + " " + bar;
> }
>
> calling the first method in a http request (as a parameter) i use
> ${__BeanShell(methodOne("foo"))};
> the first method works.
> the second method: ${__BeanShell(methodTwo("foo","bar"))} does NOT work.
>
> does calling a beanshell method only work with exact one parameter??

No, but you need to escape the comma to stop the function parser from
getting confused.

See:

http://jakarta.apache.org/jmeter/usermanual/functions.html#how

It's buried in the paragraph - I'll see about making that clearer.

There should also have been a message in jmeter.log to warn you about
this (or perhaps that was added after 2.2)

> i attached a testscript for this problem. the 2 functions must be defined in
> BeanShellFunction.bshrc.

Please don't send attachments to the list.

> moreover, in jmeter.properties you have to activate
> beanshell.function.init=BeanShellFunction.bshrc.
>
> thanks in advance,
>   chris
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org