За помощь в неравной борьюе большое спасибо Илье Пономаренко и Дэну Аркуше.
Постановка задачи: необходимо, чтобы цикл выполнялся ровно столько раз, сколько есть строк в csv-файле. Для каждого треда отдельно.
Т.е., если у нас есть
Готового решения в инете я не нашла (может, искала плохо, конечно).
Раньше проблема решалась таким образом: я создавала Loop Counter, задавала число проходов равным числу строк в csv, которое мне надо было пройти, и тогда всё работало замечательно.
Но проблема заключалась в том, что файл мог меняться, сответственно, могло меняться и количество строк в этом файле. Да и интересно было заставить джиметр автоматом считать, сколько раз нужно бегать.
Мучилась я долго, но придумала, наконец, нижеследующее.
Допустим, у меня есть csv файл с такими полями: userName,Pwd,grName. Точнее, файл содержит столбцы, чьи столбцы парсятся в переменные JMeter c именами userName,Pwd,grName.
В этом файле Х строк.
1. Редактируем файл, ставим в Х+1 строке слово FALSE в первом столбце (отвечающем за переменную userName). Сохраняем изменения.
2. Создаем Add -> Logic Controller -> While Controller, которому ставим значение для Condition (function or variable) равное ${username}
3. Добавляем в этот контроллер CSV Data Set Config, в котором прописываем нужный нам csv файл и все необходимые имена переменных из него.
4. Добавляем в контролер все шаги, которые необходимо выполнить в цикле.
Профит! :)
Единственный минус - цикл выполняется не Х, а Х+1 раз, и последний раз вместо значения переменной userName передаётся FALSE.
Но, как по мне, это лучше, чем править ручками.
Если кто знает лучший способ - буду рада, если поделитесь.
No comments:
Post a Comment