Хобрук: Ваш путь к мастерству в программировании

Использование препроцессора Beanshell для параметризации в JMeter

Я пытаюсь использовать препроцессор beanshell для параметризации в скрипте JMeter. Моя структура скрипта JMeter указана ниже. План тестирования-> Группа потоков-> Контроллер транзакций-> Запросы. Я хочу знать, какой процедуре я должен следовать, чтобы динамически передавать значения в запрос.

Описание со скриншотом и примером будет более полезным.

Заранее спасибо.


Ответы:


1

Попробуйте следующую структуру теста:

  • Thread Group (all defaults) 1 user, 1 second ramp-up, 1 loop)
    • HTTP Request (see below for parameters)

Сведения о HTTP-запросе

  • Предварительный процессор Beanshell как дочерний элемент HTTP-запроса со следующим кодом:

    int min = Integer.parseInt(bsh.args[0]); // get first parameter
    int max = Integer.parseInt(bsh.args[1]); // get second parameter
    int random =  min + (int) (Math.random() * ((max - min) + 1)); // calculate random number within parameters range
    vars.put("RANDOM_NUMBER", String.valueOf(random)); // save result into RANDOM_NUMBER variable
    

    и 100 300 в разделе "Параметры:"

Предварительный процессор Beanshell

Итак, в Beanshell Pre Processor мы определяем значение переменной RANDOM_NUMBER, на которую ссылаемся в HTTP Request Sampler. Предварительный процессор выполняется до запроса, поэтому переменная заполняется. Если вы добавите прослушиватель View Results Tree, вы увидите, что запросы содержат случайно сгенерированные числа в диапазоне 100-300

SERP

Итак, вам нужно добавить Beanshell Pre Processor как дочерний элемент запроса, который вы собираетесь параметризовать.

См. Руководство Как использовать BeanShell: любимый встроенный компонент JMeter для получения дополнительной информации о сценариях Beanshell и небольшой кулинарной книге.

28.07.2014
  • Спасибо за помощь, Дмитрий Т. Это действительно помогло. 12.03.2015

  • 2

    Чтобы сгенерировать случайную строку:

    import java.util.Random;
    
    chars = "1234567890abcdefghiklmnopqrstuvwxyz-";
    int string_length = 36;
    randomstring ="";
    
    for (int i=0; i < string_length; i++) {
      Random randomGenerator = new Random();
      int randomInt = randomGenerator.nextInt(chars.length());
      randomstring += chars.substring(randomInt,randomInt+1);
    }
    print(randomstring);
    vars.put("RANDOM_STRING",randomstring);
    
    15.01.2018
  • Это не относится к заданному вопросу. 15.01.2018
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..