Как программно добавить параметры в HttpRequest в JMeter

Сейчас я использую JMeter для тестирования производительности нашего продукта.

У меня есть сценарий тестирования производительности ниже:

  1. Извлечь 1000 уникальных идентификаторов из запроса A.
  2. Добавьте 1000 уникальных идентификаторов к следующему запросу B в качестве «параметров формы». проверьте время ответа на запрос B.

Запрос B выглядит так:

Метод: Пост

URL-адрес: http://www.aaa.com/abc/def

Параметры формы:

пункт1 : значение1

пара2 : значение2

ID : ID1

ID : ID2

ID : ID3

......

ID: ID1000

Я знаю, что этот запрос не является каноническим использованием http-запроса. но он используется в нашем продукте годами.

Теперь я получаю 1000 уникальных идентификаторов из запроса A с помощью «экстрактора регулярных выражений»,

Мой вопрос: как передать переменные в запрос B и установить 1000 идентификаторов в качестве «параметров формы» запроса B?

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
0
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Добавьте Препроцессор JSR223 в качестве дочернего элемента сэмплера HTTP-запрос, где вам нужно добавить 1000 параметров.

  2. Поместите следующий код в область «Script»:

    def data = new org.apache.jmeter.config.Arguments()
    1.upto(vars.get('ID_matchNr') as int, index -> {
        def parameter = new org.apache.jmeter.protocol.http.util.HTTPArgument('ID', vars.get('ID_' + index))
        data.addArgument(parameter)
    })
    sampler.setArguments(data)
    
  3. Вот и все, препроцессор JSR223 прочитает все Переменные JMeter, которые начинаются с ID_1 и заканчиваются на ID_XXXX, и добавит соответствующий параметр в сэмплер HTTP-запроса.

Дополнительная информация о сценариях Groovy в контексте JMeter: Apache Groovy — зачем и как его использовать

Привет, спасибо за ваш ответ. Теперь он может добавить идентификаторы в запрос. Еще вопрос: я уже добавил еще 2 параметра в запрос Б, но переменные в скрипте переопределяют эти 2 параметра в запросе. Как сохранить 2 параметра в запросе и программно добавить другие из скриптов?

Bin 24.04.2022 09:18

Я получил ожидаемый результат после изменения первой строки на «def data=sampler.getArguments()». Спасибо, @Dmitri T

Bin 25.04.2022 04:44

Другие вопросы по теме