我正在尝试从调试采样器中拾取变量,并用一些随机生成的数字替换变量的字符。我添加了一个beanshell采样器来编写自定义代码。以下是代码:
String myvariable = vars.get("Corr_ContextN"); chars1 = new ArrayList(); chars2 = new ArrayList(); for(int i =0; i<myvariable.length(); i++) { chars1.add(myvariable.charAt(i)); } String value = chars1.toString(); Random randomnumber = new Random(); for (int idx=1; idx < 15; ++idx) { chars2.add(randomnumber.nextInt(100)); } String Newvalue1 = chars2.toString(); vars.put("NewVariable", Newvalue1 );
通过上述方式,我在调试采样器(newVariable(中获得了一个随机数列表。但是我想用创建的新版本替换现有的变量" corr_contextn"。换句话说,现有变量应替换为一些动态生成的数字/变量。
请帮助我。
只是将最后一行更改为:
vars.put("Corr_ContextN", Newvalue1 );
P.S。考虑使用JSR223采样器代替Beanshell。您甚至可以重复使用相同的代码,该代码将通过Groovy Engine编译得更好。
P.P.S。请告知更容易的将使用__random函数,该函数能够将随机生成的数字存储到jmeter变量中,并将其返回到位置的位置。查看如何使用Jmeter函数帖子系列来了解Jmeter中的功能。