как передать объект filewriter между процессором BeanShell - PullRequest
0 голосов
/ 15 декабря 2018

Я использую процессор бобов в jmeter, где я определяю объект FileWriter в одном процессоре бобов и передаю объект (fstream) другому процессору бобов.

String filename = "test.csv";
FileWriter fstream = new FileWriter(filename , true);
props.putObject("fstream", fstream);

Теперь я пытаюсь получить объект fstreamдругому обработчику бобов

fstream = props.getObject("fstream");

Когда я запускаю скрипт jmeter, я получаю следующее сообщение об ошибке:

Ошибка при вызове метода: метод putObject (java.lang.String,java.io.FileWriter) не найден в java.util.Properties '

Я знаю, почему я получаю эту ошибку, потому что я пытаюсь передать объект filewriter, но этот тип функции не найден в классе свойств,Тогда как мне передать объект filewriter между процессором beanshell, объясните и предоставьте пример кода.

1 Ответ

0 голосов
/ 17 декабря 2018
  1. Если оно находится в пределах одной группы потоков , вы можете перейти на vars.putObject("fstream", fstream);

  2. Если сценарий предполагает разные группы потоков, вы можете использовать только функцию props.put("fstream", fstream);, поскольку она предполагает, что объект уже

  3. Существует bsh.shared пространство имен чтобы вы могли разделить произвольный объект через него, например:

    • в 1-м элементе сценария:

      bsh.shared.fstream = fstream
      
    • во 2-м элементе сценария:

      fstream = bsh.shared.fstream
      
  4. Подумайте о переключении на Тестовые элементы JSR223 и язык Groovy , поскольку этот подход имеет гораздо лучшую производительность по сравнению с Beanshell

...