JMeter: Как прочитать данные конкретной строки в CSV-файле на основе значения столбца и передать значение этого столбца в сэмплер? - PullRequest
0 голосов
/ 19 апреля 2020

Я новичок в Jmeter и делаю PO C, чтобы выполнить нагрузочный тест в веб-приложении.

Что я пытаюсь сделать:
У меня в общей сложности 4 пользовательских логина (хирурга). Каждый логин связан с числом n пациентов.
Я создал 2 файла CSV
1. Один с логином и паролем пользователя для хирургов
2. Другой файл CSV, который содержит имя пациента, имя пациента и хирург, связанный с этим пациентом, как показано ниже.

PatientName, PatientId, логин
Pa1, PID1, пользователь1
Pa2, PID2, пользователь1
Pa3, PID3, пользователь1
Pa4, PID4, пользователь1
Pa5 , PID5, user2
Pa6, PID6, user2
Pa7, PID7, user3
Pa8, PID8, user4

Мой сценарий:

  1. Войти как пользователь.
  2. Перейдите к панели мониторинга каждого пациента в соответствии с их ассоциациями.
  3. выйти из приложения.

My Testplan

Группа тем (4 пользователя, время нарастания как 1 se c, 1 l oop) -csv1 (с именем пользователя , пароль)
-Вход на страницу и переход на главную страницу - RunTime Controller (для поддержания нагрузки установленного количества времени)
- При L oop (до l oop между приборной панелью пациента хирурга / пользователя, вошедшего в систему) --- CSV2 (данные, как показано выше) ---- Перейти к панели инструментов
---- Перейти к главному
-Выйти из приложения

Чего я хочу добиться:

Я хочу использовать одну группу потоков и запускать ее одновременно для всех 4 пользователей. В этом процессе, как только пользователь войдет в систему, пользователь должен только те данные пациента из CSV, которые связаны.
Например: Когда Thread1 работает с именем пользователя User1, он может только Пользователи oop через Pa1, Pa2, Pa3, Pa4 Когда thread2 работает с именем пользователя User2, пользователь должен только читать данные Pa5, Pa6.

Таким образом, при каждом входе пользователя в систему следует выбирать только тех пользователей в соответствии с их ассоциациями, упомянутыми выше.
Можно ли как-нибудь использовать этот единственный файл CSV2 и выполнить эту задачу? так что мне не нужно создавать n-нить из n-х номеров логинов с n-ю номерами CSV-файлов, каждый из которых содержит данные, указывающие c для логина пользователя.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020
1. CSV Data Set Config for Surgeon credentials (loginNameSurgeon & Password)
2. Login Request (take first surgeon credentials from CSV) 
3. While ${__jexl3("${loginNameSurgeon}" != "${loginName}")} 
    a. CSV Data Set Config for patient data w.r.t surgeons (PatientName,PatientId,loginName)
    b. If Controller - ${__jexl3("${loginName}" != "<EOF>")}  // to check if we have any more loginName left
    c. Dashboard request
    d. Debug Sampler // Just to validate if the variables are in place.
4. Logout request   
0 голосов
/ 20 апреля 2020

В соответствии с Порядком выполнения тестовых элементов JMeter

0. Элементы конфигурации

  1. Препроцессоры

  2. Таймеры

  3. Сэмплер

  4. Постпроцессоры (если SampleResult не равен NULL)

  5. Утверждения (если SampleResult не имеет значение NULL)

  6. Слушатели (( если SampleResult не равен нулю)

Являясь элементом конфигурации CSV Data Set Config инициализируется один раз и перед чем-либо еще, поэтому вы не сможете использовать текущая переменная из 1-й конфигурации набора данных CSV во 2-й конфигурации набора данных CSV.

Решение использует функцию __ CSVRead () . Вместо этого функции JMeter оцениваются в том месте, где они появляются в плане тестирования, поэтому вы можете использовать любое жестко закодированное значение, переменную JMeter или другую функцию. ,

Дополнительная информация: Как выбрать различные файлы CSV во время выполнения JMeter

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