Контролери в JMeter: Loop, Simple, Transaction, Module, Random

Съдържание:

Anonim

Какво представлява Logic Controller?

Логическите контролери ви позволяват да дефинирате реда на обработка на заявката в нишка. Позволява ви да контролирате „кога“ да изпращате потребителска заявка до уеб сървър. Например можете да използвате произволни контролери за изпращане на HTTP заявки до сървъра на случаен принцип

Логическите контролери определят реда, в който се изпълнява потребителска заявка.

Някои често използвани логически контролери са по-долу:

Контролер за запис:

JMeter може да запише стъпките ви за тестване; контролерът за запис е резервоар за съхранение на тези стъпки на запис.

Обикновен контролер:

Simple Controller е просто контейнер за потребителска заявка.

Контролер на контура:

Loop Controller кара потребителската заявка да се изпълнява определен брой пъти или да се изпълнява завинаги, както е показано на фигурата:

Случайно контролер:

Random Controller прави всички потребителски заявки да се изпълняват в произволен ред във всеки период на цикъл.

Например имате 3 потребителски заявки към уебсайта http://www.google.com в следния ред:

  1. HTTP заявка
  2. FTP заявка
  3. Заявка за JDBC

Тези 3 заявки трябва да се изпълнят 5 пъти. Общо 15 потребителски заявки ще бъдат изпратени до сървъра на Google от JMeter.

В последователен ред заявките се изпращат последователно в следния ред:

HTTP заявка -> FTP заявка-> JDBC заявка

за всеки цикъл.

В случаен ред заявките се изпращат като произволни,

FTP заявка -> HTTP заявка-> JDBC заявка

Или

JDBC заявка -> FTP заявка-> HTTP заявка

За всеки цикъл.

Модулен контролер:

Целта на Module Controller е да добави модулност към JMeter.

Общата идея е, че уеб приложенията се състоят от малки функционални единици (т.е. Logon, Create Account, Logoff ...). Тази функционалност може да се съхранява в Simple Controller като "модули". Module Controller ще избере кой модул трябва да се изпълни.

Помислете за следния сценарий -

Искате да симулирате:

  • 50 потребители излизат ,
  • 100 потребители, които влизат
  • 30 потребители търсят www.google.com

Можете да използвате JMeter, за да създадете 3 модула. Всеки модул симулира всяка потребителска дейност: Вход, Изход и Търсене.

Контролерът на модула избира кой модул трябва да се изпълни.

Други важни контролери:

  • Interleave Controller: взема и изпълнява една от потребителските заявки във всеки цикъл на нишката.
  • Runtime Controller: контролира колко дълго децата му могат да работят.

Например, ако сте задали Runtime Controller 10 секунди, JMeter ще изпълни теста ви за 10 секунди.

  • Контролер на транзакции : измерва общото време, необходимо за завършване на изпълнението на теста
  • Включва контролер: проектиран е да използва външен план за тестване. Този контролер ви позволява да използвате множество планове за тестване в JMeter. Вижте подробности в JMeter Performance Testing.

Пример за Loop Controller

Този раздел ви показва инструкции стъпка по стъпка за добавяне на контролер за контур към вашия текущ план за тестване на производителността.

Контролерът на контура кара пробниците да се изпълняват като определен брой пъти, в допълнение към стойността на цикъла, която сте посочили за групата нишки. Например, ако вие

  • Добавете една HTTP заявка към Loop Controller с контур 50
  • Конфигурирайте броя цикли на групата нишки на 2
  • След това JMeter ще изпрати общо 50 * 2 = 100 HTTP заявки.

Това е пътната карта на този пример:

Стъпка 1) Конфигуриране на група нишки

Ние повторно използване на етап 1 и 2 в урок JMeter тестване на работата.

  1. Добавяне на група нишки

Щракнете с десния бутон върху тестовия план и добавете нова група нишки: Добавяне -> Нишки (потребители) -> Група нишки

Но в контролния панел на Thread Group въведете Thread Properties, както следва:

Той ще направи една потребителска заявка към уеб сървъра google.com и ще я стартира 2 пъти.

  1. Добавете JMeter елементи

Добавете HTTP заявка по подразбиране към www.google.com.

  1. Добавяне на Loop Controller

Щракнете с десния бутон на нишката -> Logic Controller -> Loop Controller

Стъпка 2) Конфигуриране на Loop Controller

Добавете стойност 50 към полето Loop Count, както е показано на фигурата по-долу. Той ще направи една потребителска заявка към уеб сървъра google.com, стартира я 50 пъти, в допълнение към стойността на цикъла = 2, която сте посочили за Thread Group по-горе, така че JMeter ще изпрати общо 2 * 50 = 100 HTTP заявки.

Щракнете с десния бутон на Loop Controller, Add -> Sampler -> HTTP заявка

Стъпка 3) Добавяне на резултати от изгледа в таблица

Повторно използваме Стъпка 2 в Таймер, за да добавим Преглед на резултатите в Таблица

Така планът на теста е показан на фигурата по-долу

Стъпка 4) Стартирайте теста си

Сега върнете Преглед на резултатите в таблицата, щракнете върху бутона Старт в лентата с менюта (Ctrl + R), за да стартирате тест

Както е показано на фигурата по-долу, JMeter симулира една потребителска заявка, която се изпраща 100 пъти, до уеб сървъра http://www.google.com/. Тестът се спира, след като потребителска заявка е изпратена 100 пъти.

Отстраняване на неизправности:

  1. Ако се сблъскате с проблема, докато изпълнявате горния сценарий ... направете следното
  2. Проверете дали се свързвате с интернет чрез прокси сървър. Ако да, премахнете проксито.
  3. Отворете нов екземпляр на Jmeter
  4. Отворете ControllerTestPlan.jmx в Jmeter
  5. Щракнете върху Група нишки -> Преглед на резултата в таблица
  6. Стартирайте теста