Javascript 将BSF后处理器中使用的变量用作另一个采样器中的参数
我在采样器中添加了BSF后处理器。Javascript 将BSF后处理器中使用的变量用作另一个采样器中的参数,javascript,jmeter,load-testing,Javascript,Jmeter,Load Testing,我在采样器中添加了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); });
后处理器中的脚本是:
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值作为参数
例如
我想将Sampler1的BSF后处理器javascript中的变量用作Sampler2中的参数。这可能吗?轻松:提供对Jmeter变量/属性的读/写访问:
变量-(JMeterVariables)-提供对变量的读/写访问权限:
变量获取(键);变量放置(键,值);putObject(“OBJ1”,newobject());
变量getObject(“OBJ2”)
props-(JMeterProperties-class java.util.Properties)-例如。
道具获取(“START.HMS”);道具出售(“道具1”、“1234”)
在最简单的情况下,您可以使用
vars.put(patientId,object.patientId.toString());
vars.put(fName,object.fname.toString());
vars.put(lName,object.lname.toString());
在BSF后处理器中设置变量,然后获取它们的值,如
vars.get("patientId")
或
但是,由于要同时提取foreach循环中的所有记录,因此不能使用这种方法
在这种情况下,您必须更好地使用以下内容:将foreach循环中提取的所有记录值写入csv文件,然后使用例如在循环中逐个读取记录,并将值与采样器一起使用2:
While Controller
CSV Data Set Config
Sampler 2
…还有,如果我找到另一种更好的方法,我会很高兴知道的。你的意思是我应该使用Javascript的文件处理方法直接从BSF后处理器将记录值写入csv文件吗?我可以用这样的东西吗?函数WriteToFile(){var fso=new ActiveXObject(“Scripting.FileSystemObject”);var s=fso.CreateTextFile(“Test.csv”,true);s.WriteLine(object.patientId.toString()+”,“+object.fname.toString()+”,“+object.lname.toString());s.Close();}我尝试了上述代码将记录写入csv文件。我在Ubuntu上使用JMeter,这就是为什么我认为它给了我一个使用ActiveXObject的错误。是否有其他方法可以使用Javascript写入csv文件?我搜索了很多地方,但没有找到任何东西。另外,如果我必须在BSF后处理器中使用Java作为语言,是否有任何jar文件需要我单独复制到JMeter的文件夹中?我尝试在上面的场景中使用Java。它说:BSF脚本org.apache.BSF.BSFException中的问题:无法加载语言:javaUse,然后使用beanshell(读取:java)代码。应适用于开箱即用jmeter安装,无需任何附加库。非常感谢您推荐Beanshell后处理器。:)我能够在其中运行Java代码。将使用它本身将记录写入csv文件,并将其与csv数据集配置一起使用。
${patientId}
While Controller
CSV Data Set Config
Sampler 2