程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Jmeter变量中存储数组值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在Jmeter变量中存储数组值??

开发过程中遇到如何在Jmeter变量中存储数组值?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在Jmeter变量中存储数组值?的解决方法建议,希望对你解决如何在Jmeter变量中存储数组值?有所启发或帮助;

我建议使用bsh.shared命名空间,这样,您将能够存储任何Java对象,并根据需要甚至从不同的线程组访问它。

特定于JMeter的示例在官方文档的“ 共享变量”一章中

在第一个脚本的结尾:

bsh.shared.strList = strList;

在第二个脚本的开头:

List strList = bsh.shared.strList;


Random rnd = new java.util.Random(); 
vars.put("TheValue",strList.get(rnd.nexTint(strList.size())));

请参阅如何使用BeanSHell:JMeter最喜欢的内置组件指南,以获取有关JMeter的BeansHell脚本的更多详细信息。

解决方法

我有一个CSV文件,其中包含我使用Bean SHell脚本读取的数据并基于该数据填充ArrayList。以下是其代码。

//Populate BeansHell script
import java.text.*;
import java.io.*;
import java.util.*;

ArrayList strList = new ArrayList();

try {
File file = new File("path/to/csv");

if (!file.exists()) {
    throw new Exception ("ERROR: file not found");
}

BufferedReader bufRdr = new BufferedReader(new FileReader(filE));
String line = null;

while((line = bufRdr.readLine()) != null) {
    strList.add(linE);
}

bufRdr.close();   
}
catch (Exception eX) {
Issuccess = false; 
log.error(ex.getmessage());
System.err.println(ex.getmessage());
}
catch (Throwable theX) {
System.err.println(thex.getmessage());
}

现在我想以随机方式利用这些数据,所以我试图使用类似的东西

//Consumer bean sHell script
//Not able to access strList since vars.put cAnnot store an object
Random rnd = new java.util.Random(); 
vars.put("TheValue",strList.get(rnd.nexTint(strList.size())));

但是我无法执行此操作,因为在vars.put中,我无法存储数组或列表,只能存储基本类型。因此,无法从另一个BeanSHell脚本访问填充函数的ArrayList。

在这种情况下,如何实现随机化,因为从性能的角度来看,每次都调用填充函数是不好的。

大佬总结

以上是大佬教程为你收集整理的如何在Jmeter变量中存储数组值?全部内容,希望文章能够帮你解决如何在Jmeter变量中存储数组值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。