Если вам не хватает стандартных средств для генерирования рандомных значений, то вы можете использовать функцию __javaScript.
Допустим, нам нужно рандомное значение от 0 до указанного числа: ${__javaScript(Math.floor(Math.random()*(${maxRandom}+1)),myRandom)}.
_javaScript также присутствует в Function Helper Dialog
При помощи яваскрипта можно генерить и более сложные значения:
${__javaScript(
var startDate = new Date();
startDate.setDate(1);
startDate.setMonth(0);
startDate.setYear(1991);
var startDateTime = startDate.getTime();
var endDate = new Date();
endDate.setDate(31);
endDate.setMonth(11);
endDate.setYear(2003);
var endDateTime = endDate.getTime();
var randomDate = new Date();
var randomDateTime = startDateTime+Math.random()*(endDateTime-startDateTime);
randomDate.setTime(randomDateTime);
var rndDate = randomDate.getDate();
var rndMonth = randomDate.getMonth() + 1;
var rndYear = randomDate.getFullYear();
if (rndDate.toString().length == 1)
rndDate = "0" + rndDate;
if (rndMonth.toString().length == 1)
rndMonth = "0" + rndMonth;
rndDate + "/" + rndMonth + "/" + rndYear;)}
В результате мы получим рандомную дату в промежутке между от 01.01.1991 до 31.11.2003
Так же рандомные значения можно получить при помощи, например, BeabShell PreProcessor (Add->PreProcessors->BeanShell PreProcessors.
Тут можно найти один из примеров использования BeanShell PreProcessor.
Так же рандомные значения можно получить при помощи, например, BeabShell PreProcessor (Add->PreProcessors->BeanShell PreProcessors.
Тут можно найти один из примеров использования BeanShell PreProcessor.
Спасибо большое за статью! Гуглила генерацию случайных дат для Jmeter'a, нашла только 1 Вашу статью.
ОтветитьУдалитьПодскажите, пожалуйста, а если нужно случайную дату положить дополнительно в переменную, то как дописать скрипт?
Например, мне нужно сгенерировать интервал, начало которого случайная дата, а продолжительность интервала фиксированная. Этот случайный интервал находится внутри заданного промежутка дат (как у Вас). Т.е. мне нужны 2 даты на выходе, начало и конец интервала, которые я подставляю затем в хмл-ку, отправляемую на веб-сервис.
Андрей, спасибо Вам за скрипт.
ОтветитьУдалитьЯ немножко его развила и получила скрипт для генерации случайного интервала в заданном диапазоне дат.
Результат можно посмотреть здесь: http://stackoverflow.com/questions/13955259/how-to-generate-random-fixed-interval-within-date-range-in-jmeter/13992581#13992581