Как создать Java-программу в Beanshell PostProcessor в Jmeter, чтобы объединить все ответы? - PullRequest
0 голосов
/ 20 сентября 2019

Я должен отправить запросы JSON на основе данных теста CSV.Предположим, есть 90 записей - которые в основном являются телами запросов.Я поместил поток в цикл, чтобы посылать запрос до последнего в CSV.Каждый раз, когда я получаю ответ, мне нужно добавить их в один файл CSV.Теперь, поскольку Jmeter Listener не объединяет все ответы в CSV (я не хочу их в xml), я хочу знать, могу ли я написать фрагмент Java в BeanShell, захватить все ответы и записать их в файл CSV.

Ответы [ 2 ]

1 голос
/ 20 сентября 2019

Вы можете использовать JSR223 Sampler с File.append , добавляя текст с помощью , для добавления в файл CSV

Это добавится в конецфайла.

File file = new File("out.txt")
file.append("hello\n")
0 голосов
/ 25 сентября 2019

Если вам нужна «программа»

  1. Добавьте JSR223 Listener в ваш план тестирования (, начиная с JMeter 3.1, рекомендуется использовать JSR223 Test Elements для сценариев)
  2. Поместите следующий код в область «Сценарий»

    new File('myfile.csv') << prev.getResponseDataAsString() << System.getProperty('line.separator')
    

    , где prev обозначает предыдущий SampleResult экземпляр класса,Ознакомьтесь с Топ-8 Java-классов JMeter, которые вы должны использовать с Groovy , для получения дополнительной информации о JMeter API сокращенных именах, доступных для тестовых элементов JSR223.


Лучшим вариантом было бы сохранение ответа в переменную JMeter с помощью ie Извлечение регулярного выражения и запись его в файл с помощью свойства sample_variables

...