Jmeter считывает параметры из csv, где количество параметров не фиксировано - PullRequest
0 голосов
/ 08 июня 2018

Я новичок в jMeter.Мне нужно передать параметры в виде массива пары ключ-значение.Пример параметра показан ниже:

a:3:{i:2925107;i:1389339;i:2778927;i:1317197;i:2880395;i:1389407;}

Здесь значения 2925107, 2778927, 2880395 представляют ключ, а 1389339, 1317197 и 1389407 представляют их соответствующие значения.

Кроме того, оно появится наследующие строки параметров следующие:

lease_ids[2925107]  1389339 
lease_ids[2778927]  1317197 
lease_ids[2880395]  1389407 

Помимо этого мне также нужно сохранить еще несколько параметров в CSV.

Я не уверен, как мне сохранить его в CSV-файли как я должен это прочитать.

Пример изображения проблемы

1 Ответ

0 голосов
/ 11 июня 2018
  1. Настройте Конфигурация набора данных CSV , чтобы эти идентификаторы аренды имели вид:

    a:3:{i:2925107;i:1389339;i:2778927;i:1317197;i:2880395;i:1389407;}
    a:3:{i:2925108;i:1389340;i:2778928;i:1317198;i:2880396;i:1389408;}
    

    , т.е. каждая запись в отдельной строке.Используйте id в качестве «имени переменной»

    JMeter CSV Data Set Config

  2. Удалите все lease_ids[xxxxxxx] параметры из HTTP-запроса сэмплер

  3. Добавить Препроцессор JSR223 в качестве дочернего элемента сэмплера HTTP-запроса

  4. Вставьте следующий код вОбласть «Script»:

    def matches = (vars.get('id') =~ 'i:(\\d+)').findAll()
    
    for (int i = 0; i < matches.size() - 1; i++) {
        sampler.addArgument('lease_ids[' + matches.get(i).get(1) + ']', matches.get(i + 1).get(1))
    }
    
  5. Вот и все, препроцессор JSR223 автоматически проанализирует переменную id и добавит соответствующие параметры lease_ids в запрос.

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

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