我是Jmeter的新手,面临以下问题。
我有以下Jmeter项目。
我想:
最好的方法是什么?
我在常量计时器之后立即尝试了一个beanShell PreProcessor,但在HTTP1 PostProcessor中尝试执行.add()
时无法访问变量并获得异常在常量计时器之后立即在BeanShell Sampler中创建列表 我这样做:
import java.util.ArrayList;
ArrayList list_1 = new ArrayList();
ArrayList list_2 = new ArrayList();
list_1.add("TEST_0");
log.info("");
log.info("============ Avail list:" + list_1);
vars.put("list_1", list_1);
vars.put("list_2", list_2);
log.info("Lists created and populated !!!!");
log.info("");
但是得到以下异常:
org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.util.ArrayList; try { ArrayList list_1 = new ArrayList(); ArrayL . . . '' : Error in method invocation: Method put( java.lang.String, java.util.ArrayList ) not found in class'org.apache.jmeter.threads.JMeterVariables'
感谢。
答案 0 :(得分:1)
vars.put("list_1", list_1);
替换为vars.putObject
("list_1", list_1);
vars.getObject
("list_1");
答案 1 :(得分:0)
您可以将“JSR223 PreProcessor”用于数组列表,如下所示: -
def list1 = []
def list2 = []
list1 << ("TEST_0");
list1 << ("TEST_1");
list2 << ("TEST_X");
list2 << ("TEST_Y");
log.info("============ Avail list:" + list1);
log.info("============ Avail list:" + list2);
vars.putObject("List_1",list1)
vars.putObject("List_2",list2)
在JSR223 PostProcessor中获取它
def y = vars.getObject("List_1");
log.info("Get List>>>>>"+y)