Как использовать Split для строки в Beanshell?

Я пишу сэмплер Beanshell в JMeter для чтения файла, в котором я хочу разделить каждую строку запятой (,) и хочу извлечь значения. Я получаю первую разделенную строку с индексом 0, но для следующих значений с индексом 1, 2 и так далее... она не дает значений.

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

Здесь для индекса 0 все работает нормально, НО для индекса больше 0 происходит сбой.


person dobydx    schedule 08.10.2014    source источник


Ответы (1)


Вы уверены, что ваше выражение line.split(",") создает массив строк с длиной> 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 доступно Просмотр журнала, вы должны видеть, что происходит правильно. в графическом интерфейсе JMeter как:

Ведение журнала Beanshell

Дополнительные советы и рекомендации по использованию Beanshell см. в разделе Как использовать BeanShell: любимый встроенный компонент JMeter. в руководстве по компонентам.

person Dmitri T    schedule 08.10.2014
comment
На самом деле, я заставил его работать с каждым циклом на работе. Но, увидев ваш ответ, я попробовал еще раз, и БУМ, теперь он работает ... должно быть, произошла какая-то мелкая ошибка. Между прочим, THUMPS UP для ссылки Log Viewer, не знал об этом, и это УДИВИТЕЛЬНО :) (Сделал мою жизнь с JMeter более простой: P) - person dobydx; 09.10.2014
comment
Большое спасибо, я был знаком с split, но всегда делал print(...); не лог.инфо! Лог гораздо удобнее использовать при отладке. - person AA Ron; 13.04.2016