Поток с ошибкой не должен выбирать те же данные из файла CSV, которые уже прочитаны потоком в очереди

#jmeter

#jmeter

Вопрос:

Предварительное условие
потоков:: 5, количество циклов,,: 5

Файл конфигурации CSV содержит: IP-адрес и Mac-адрес введите описание изображения здесь

Сценарий:
При запуске потока 5 потоков считывают значения IP-адреса и Mac-адреса из файла CSV.
При выполнении T3 происходит сбой, и начинается цикл потоков, он выбирает Ist ip и ist mac-адрес из CSV, которые уже выбраны ist потоками и находятся в очереди (завершение сквозного потока).

Как обработать, чтобы все потоки в очереди должны были выбрать уникальную строку из файла CSV?

Ответ №1:

Начиная с JMeter 5.1, ни один из тестовых элементов и функций JMeter, подходящих для параметризации, не обеспечивает поведение, которое вы ищете.

Вы можете использовать функцию __groovy() для написания сценария чтения файла CSV так, как вы хотите, например, вы можете настроить 1-го виртуального пользователя для чтения 1-й строки, 2-го пользователя — 2-й строки и т.д.

Соответствующий исходный код будет выглядеть примерно так:

  • ${__groovy(new File('test.csv').readLines().get(ctx.getThreadNum()).split(',')[0],)} — получает значение из 1-го столбца

  • ${__groovy(new File('test.csv').readLines().get(ctx.getThreadNum()).split(',')[1],)} — получает значение из 2-го столбца

    ДЕМОНСТРАЦИЯ:

    введите описание изображения здесь