如何在Beanshell中使用Split for string?

时间:2014-10-08 06:41:13

标签: split jmeter beanshell

我在JMeter中编写Beanshell采样器来读取文件,我想用逗号(,)分隔每行,并想要提取值。我得到了第一个带有索引0的分割字符串,但对于索引为1,2的下一个值,所以...它没有给出值。

value = value.append(line.split(",")[2]);

这里,对于索引0,它对索引大于0的所有精细BUT都有效,它失败了。

1 个答案:

答案 0 :(得分:6)

您确定line.split(",")表达式生成长度为&gt的String数组吗? 1?你怎么知道的?

例如下一个代码:

String line = "quick, brown, fox, jumped, over";
String[] words = line.split(",");
for (int i = 0; i < words.length; i++) {
  log.info(words[i]);
  if (i == 2) {
      log.info("Third word is: " + words[2]);
  }
}

产生以下输出:

2014/10/08 13:17:37 INFO  - jmeter.util.BeanShellTestElement: quick 
2014/10/08 13:17:37 INFO  - jmeter.util.BeanShellTestElement:  brown 
2014/10/08 13:17:37 INFO  - jmeter.util.BeanShellTestElement:  fox 
2014/10/08 13:17:37 INFO  - jmeter.util.BeanShellTestElement: Third word is:  fox 
2014/10/08 13:17:37 INFO  - jmeter.util.BeanShellTestElement:  jumped 
2014/10/08 13:17:37 INFO  - jmeter.util.BeanShellTestElement:  over 

我建议使用log.info方法记录所有值并检查输出。由于JMeter 2.6 Log Viewer可用,您应该能够在JMeter GUI中看到正在发生的事情:

Beanshell Logging

有关更多Beanshell提示和技巧,请参阅How to use BeanShell: JMeter's favorite built-in component指南。