【发布时间】:2020-11-02 20:26:07
【问题描述】:
我有一个看起来像这样的字符串数组。此代码位于设置线程中的 beanshell 采样器中,这就是我使用 props.put() 而不是 vars.put() 的原因。
String [] priceList = {"$472.56","$432.98","$200.98","$765.32","$233.98"};
props.put("price_list", priceList);
然后测试转移到主线程组,每个用户都从 beanshell 采样器的数组中分配一个随机值:
var priceList = props.get("price_list");
var priceRandomIndex = ThreadLocalRandom.current().nextInt(0, priceList.length);
vars.put("price", priceList[priceRandomIndex]);
然后,用户以“price”作为参数发出发布请求,在采样器组件中引用为 ${price}。结果树显示请求使用的值不正确,如下所示:
24233.98
24765.32
24472.56
当 Jmeter 在请求期间尝试获取 ${price} 时会出现问题。日志确认该变量在该点之前具有正确的值。 我意识到问题在于美元符号使 jmeter 在返回不同值的变量上调用某些函数。 jmeter调用${price}时如何获取原始值?
【问题讨论】:
标签: variables parameters jmeter escaping beanshell