Jmeter — Передача параметра по одному из переменной

#jmeter

Вопрос:

Я новый пользователь JMeter. У меня есть следующий сценарий — Поиск имени в текстовом поле поиска. Параметризовал имя в формате CSV. Но при поиске вместо полного имени, передаваемого в качестве параметра, т. Е. ${Имя}, Мне нужно передать каждый символ ${Имя} в отдельный HTTP — запрос, скажем, для запроса 1 параметр равен N, запрос 2-Параметр a и так далее, и результат поиска отображается для последнего запроса, когда все N, a, m, e были переданы. Как мне справиться с этим с помощью Jmeter?

Ответ №1:

Если вам нужно отправить несколько запросов, то в csv укажите поле ввода по мере необходимости.

Пример:-

1-я ячейка:-N

2-я ячейка:-Na

и т.д.

Но проверьте, отправляется ли запрос на каждое слово, которое вы вводите в поле, на сервер с помощью fiddler или любого другого инструмента для обнюхивания. Если да, то используйте описанный выше подход. Кроме того, вы можете попробовать использовать запись jmeter для scenerio.

Если нет, то вам нужно иметь один запрос, который отправляет полную переменную, т. е. Имя.

Надеюсь, это поможет.

Ответ №2:

  1. Добавьте пробоотборник JSR223 в свой план тестирования
  2. Поместите следующий код в область «Сценарий» :
     vars.get('Name').eachWithIndex {letter, idx ->
        vars.put('letter_'   idx, letter)
    }
     

    где vars сокращение для экземпляра класса JMeterVariables, оно используется для чтения ${Name} переменных и создания переменных ${letter_1} , таких как ${letter_2} , и т. Д. Более подробную информацию смотрите в статье Apache Groovy — Почему и как Вы должны его использовать.

  3. Добавьте контроллер ForEach после пробоотборника JSR223 и настройте его следующим образом:

    Контроллер JMeter для каждого

  4. Поместите образец HTTP — запроса в качестве дочернего элемента контроллера ForEach и ${currentLetter} при необходимости используйте ссылку на переменную

    JMeter Повторяет каждую букву в переменной