gpt4 book ai didi

javascript - 使用 BSF 后处理器中使用的变量作为另一个采样器中的参数

转载 作者:行者123 更新时间:2023-11-30 18:24:25 25 4
gpt4 key购买 nike

我在采样器中添加了一个 BSF 后处理器。
后处理器中的脚本是:

var array = JSON.parse(prev.getResponseDataAsString());

array.forEach(function(object)
{
OUT.println("patient_id: "+object.patientId);
OUT.println("fname: "+object.fname);
OUT.println("lname: "+object.lname);
});

现在我想使用 object.patientId、object.fname、object.lname 值作为另一个请求参数中的参数。

例如

Thread Group
- Sampler1
BSF Post-Processor
- Sampler2

我想将 Sampler1 的 BSF 后处理器的 javascript 中的变量用作 Sampler2 中的参数。这可能吗?

最佳答案

很容易:BSF PostProcessor提供对 Jmeter 变量/属性的读/写访问:

vars - ( JMeterVariables) - gives read/write access to variables: vars.get(key); vars.put(key,val); vars.putObject("OBJ1",new Object()); vars.getObject("OBJ2");

props - (JMeterProperties - class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");

在最简单的情况下你可以使用

vars.put(patientId,object.patientId.toString());
vars.put(fName,object.fname.toString());
vars.put(lName,object.lname.toString());

在您的 BSF 后处理器中设置变量,然后获取它们的值,例如

vars.get("patientId")

${patientId}

但由于您是一次性提取 foreach 循环中的所有记录,因此您不能使用这种方式。

在这种情况下,您必须更好地使用如下内容:将 foreach 循环中提取的所有记录值写入 csv 文件,然后使用例如CSV Data Set Config在循环中逐一读取记录并将值与 Sampler2 一起使用:

While Controller
CSV Data Set Config
Sampler 2

...同样,如果我找到另一种更好的方法,我会很高兴知道。

关于javascript - 使用 BSF 后处理器中使用的变量作为另一个采样器中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com