Насколько мне известно, JMeter не поддерживает десятичные счетчики, поскольку они относятся к типу Long
. Из JMeter: ссылка на компонент: Счетчик :
Счетчик использует long для хранения значения, поэтому диапазон составляет от -2 ^ 63 до 2 ^ 63-1.
1. Генерация десятичного числа вообще
Тем не менее, посмотрите немного ниже на format
описание, в котором говорится, что DecimalFormat
используется для формирования строки, передаваемой в пользовательский ex. ${counterA}
переменная. См. формат (подчеркивает и выделяет мой):
Необязательный формат, например 000 будет форматироваться как 001, 002 и т. Д. Это передается в DecimalFormat
, поэтому можно использовать любые допустимые форматы. Если при интерпретации формата возникает проблема, он игнорируется. [Формат по умолчанию генерируется с использованием Long.toString ()]
Эта функция может быть приспособлена к вашим потребностям и позволяет добавлять префиксы ( см. Этот вопрос SO ) или суффиксы к сгенерированному значению. Теперь это становится чистой вещью Java. Рассмотрим переменную counter
, Long
, сгенерированную с помощью JMeter:
Long counter = 104L;
String string = new DecimalFormat("#,##").format(counter); // 1,04
Вывод заключается в использовании #,##
параметра числового формата в форме генерации счетчика. Теперь конфигурация будет выглядеть так:
- Минимальное значение:
104
- Максимальное значение:
500
- Значение приращения:
1
- Числовой формат:
#,##
2. Десятичные разделители .
против ,
Результат становится 1,04
со значением приращения 0.01
. Теперь локализация становится проблемой, поскольку некоторые европейские страны используют .
в качестве разделителя десятичной части, а во второй половине используется ,
, который задается Locale
, и это влияет на Поведение DecimalFormat
. Осталось только Заменить подстроку в переменной , используя один из препроцессоров, или сконфигурировать локаль для JMeter (у меня нет с этим опыта).
3. Производительность имеет значение, тогда как насчет CSV-файла?
Теперь вы можете спросить, не повлияет ли это на производительность при использовании этого обходного пути, и будут ли окончательные результаты искажены. Если бы я использовал для интеграционных тестов без измерения производительности и получения результатов, мне было бы все равно. С другой стороны, когда имеет место производительность выполнения тестов, лучшим решением может быть загрузка этих предварительно сгенерированных переменных из внешнего файла, такого как CSV. Узнайте больше на Конфигурация набора данных CSV .