Назад | Перейти на главную страницу

Apache Jmeter + Random Double

Можно ли в 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}
  • Скрипт (код Java):
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)