How to get value from property in BeanShell (jmete

2019-02-14 04:24发布

问题:

I have got several thread groups. I want to use variable from the first group. In second group this var should be used in BeanShell. So: in first thread group I created BeanShell Assertion with this code:

 ${__setProperty(erroriden, ${erroriden1})};

In second thread group I have BeanShell pre-processor. If has line like this:

String[] erroriden = (vars.get("erroriden")).split(",");

I tried some variations like this:

String[] erroriden = (vars.get("__property(erroriden)")).split(",");
String[] erroriden = (vars.get("${__property(erroriden)}")).split(",");

but it doesn't work. Please help to use ${__property(erroriden)} in BeanShell pre-processor.

回答1:

In the first Thread Group:

props.put("erroriden", vars.get("erroriden1"));

In the second Thread Group:

String[] erroriden = props.get("erroriden").split(",");
  • JMeterVariables scope is limited to the current thread group only
  • JMeter Properties are usual Java Properties which are global for JVM instance
  • See How to use BeanShell: JMeter's favorite built-in component guide for more information on using Beanshell in JMeter.