2016-04-04 13 views
0

Ich versuche, eine Funktion als Parameter in bealshell Assertion-Komponente zu senden. die ParameterJmeter - Verwenden von Jmeter-Funktion als bsh.args

${__V(SB_names_${counter})} 

es ist im Grunde eine dynamische Zeichenfolge, die in jeder Iteration unterscheiden. Ich versuche, diesen Parameter zuzugreifen, indem

vars.get(bsh.args[2]); 

, da es der dritte Parameter in der Liste, aber ich erhalte immer null.

enter image description here

ist es überhaupt möglich jmeter Funktion als Parameter zu verwenden? oder ist das Problem mit dem Abrufen des Parameters? Danke.

+0

Ich habe etwas Ähnliches schon gemacht, indem ich die Funktion, die ich aufrufen möchte, in ein Bash-Skript lege und es so lade $ {__ BeanShell (source ("function.bsh"))}. vielleicht wird es dir helfen. –

+0

zeigen Sie, wie Ihre BeanSHell-Behauptung aussieht. –

Antwort

0

Es sollte gut funktionieren:

  1. Sicherstellen, dass die Variable
  2. alle Kommas entfernen definiert wird aus Abschnitt „Parameter“
  3. Entfernen Sie alle zusätzlichen Leerzeichen aus Abschnitt „Parameter“.

Als Abhilfe können Sie den gewünschten Wert von vars Objekt betrachten kann bekommen, die wie für JMeterVariables steht:

String sb_name = vars.get("SB_names_" + vars.get("counter")); 

Demo:

Beanshell function

Sehen Sie sich auch auf JSR223 Assertion und Groovy bewegen Sprache, wie es aus Leistungsperspektive besser ist. Weitere Informationen zu den Best Practices für die Installation und Skripting von Groovy-Engines finden Sie unter Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!.

+0

Danke! das vars.get ("SB_names_" + vars.get ("counter")); hat die Arbeit gemacht. Aus irgendeinem Grund hat es mit den bsh.args [2] nicht funktioniert. – user2880391

Verwandte Themen