Можно ли в JMeter генерировать случайные двойные числа?
Я пытался использовать Random
в элементе конфигурации, где я определил
Minimum value: 47.9999 (RND1)
Maximum value: 30.9999 (RND2)
Затем в выбранном Prepared Selected Statement я поместил эти значения:
Parameter values: ${RND1},${RND1},${RND2}
Parameter types: DOUBLE,DOUBLE,DOUBLE
Но похоже, что это не работает, потому что я получаю сообщение об ошибке:
Ответное сообщение: java.sql.SQLException: невозможно преобразовать класс java.lang.String в запрошенный тип SQL из-за исключения java.lang.NumberFormatException - для входной строки: "$ {RND1}"
Выглядит как ${RND1}
не расширяется до его значения в вашем запросе JDBC, потому что он не был инициализирован элемент конфигурации случайной переменной - потому что последний должен генерировать только целочисленные значения (а также jmeter __Случайный функция).
Чтобы сгенерировать случайные двойные значения в определенном диапазоне, вы можете использовать схему, как показано ниже:
1. Определите значения диапазона MIN и MAX как переменные в Пользовательские переменные
RND1 37.9999
RND2 41.9999
2. Generate random double value in range RND1..RND2 using e.g. Пробоотборник из бобовой скорлупы: ${RND1},${RND2}
import java.util.*; String [] params = Parameters.split(","); double rangeMin = Double.valueOf(params[0]); double rangeMax = Double.valueOf(params[1]); Random r = new Random(); double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble(); vars.put("RND",randomValue.toString()); //System.out.println(randomValue);
Добавление Сэмплер отладки, с участием Jmeter variables = true
позволяют видеть сгенерированные значения для целей отладки.
3. Сгенерированное случайное значение называется ${RND}
для дальнейшего использования (в вашем случае в JDBC Request)