Как получить несколько запросов HTTP с CSV-файл в Jmeter? - PullRequest
1 голос
/ 10 января 2020

Я хочу смоделировать пользователя с помощью 2 запросов http и 1 запроса http несколько раз через файл csv. Ниже приведена моя структура

Test Plan
- Thread Group *[No. of threads = 2, Ramp-up = 1, Loop count = 1]*
- - View Results Tree
- - Simple Controller
- - - http request 1
- - - http request 2
- - - while controller *[condition = ${no} (variable from csv file)]*
- - - - http request 3
- - - - CSV Data set Config *[Recycle on EOF = False, Stop on EOF = False, Sharing Mode = All threads] and CSV file has 3 records*

Ожидается: 1 пользователь должен выполнить

http-запрос 1, http-запрос 2, http-запрос 3, http-запрос 3, http-запрос 3 (поскольку csv имеет 3 записи)


  • Если я оставлю Recycle на EOF = False, останов на EOF = False он продолжает работать запрос до завершения скрипта и после завершения данных (ie 3 строки) он начинает выдавать ошибку
  • Если я сохраню Recycle на EOF = True, остановка на EOF = True , он выполняется только 1 пользователь и останавливается.
  • Если я оставлю Recycle на EOF = True, останов на EOF = False он продолжит выполнение запроса до конца сценария
  • Если я сохраню Recycle on EOF = False, Stop на EOF = True он работает только для одного пользователя и останавливается.


Но не может симулировать, как я ожидал. Любая помощь будет оценена. Спасибо.

Ответы [ 2 ]

1 голос
/ 13 января 2020
  1. Измените ваше Пока контроллер состояние, чтобы оно выглядело как:

    ${__jexl3("${myVar}" != "<EOF>",)}
    

    enter image description here

  2. Поместите конфигурацию набора данных CSV в качестве дочернего элемента контроллера While и настройте его следующим образом:

    enter image description here

  3. Добавьте If Controller после настройки набора данных CSV и используйте ту же функцию __jexl3 () в качестве условия:

    enter image description here

  4. Поместите свой сэмплер как дочерний элемент If Controller
  5. Вот и все, вы должны иметь возможность запустить ваш скрипт и получить количество выполнений, равное количеству строк в файл CSV:

    enter image description here

1 голос
/ 11 января 2020

Удалось достичь вашей цели

http-запрос 1, http-запрос 2, http-запрос 3, http-запрос 3, http-запрос 3 (поскольку csv имеет 3 записи)

При следующей конфигурации в Конфигурация набора данных CSV

enter image description here

Следующее условие было установлено в контроллере while.

${__jexl3("${UNAME}"!="<EOF>")}

Где UNAME - это имя столбца

Поскольку условие выполняется в то время, когда необходима дополнительная проверка состояния контроллера перед выполнением http-запроса 3

enter image description here

Пожалуйста, см. Структуру управления в следующем. enter image description here

Надеюсь, это полезно

Также возможно повторить тест с несколькими итерациями со следующими изменениями. Добавлен сэмплер JSR223 для сброса переменной и добавления текста EOF в конец файла CSV.

enter image description here

Образец Тест JMeter * План 1043 * и Файл CSV доступны в GitHub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...