Контролери в JMeter: цикъл, прост, транзакция, модул, произволен

Какво представлява логическият контролер?

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

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

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

Логическият контролер

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

JMeter мога рекорд вашият Тестване стъпала; контролерът за запис е a контейнер за да съхраните тези стъпки на запис.

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

Прост контролер

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

Прост контролер

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

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

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

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

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

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

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

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

In следващ поръчка, заявките се изпращат последователно в следния ред:

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

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

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

In случаен поръчка, заявките се изпращат като на случаен принцип,

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

Or

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

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

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

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

Общата идея е, че уеб приложенията се състоят от малки функционални единици (т.е. влизане, създаване на акаунт, излизане…). Тази функционалност може да се съхранява в Прост контролер като „модули“. Module Controller ще избере кой модул трябва да работи.

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример за контурен контролер

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

Loop Controller кара семплерите да се изпълняват определен брой пъти, в допълнение към стойността на цикъла, която сте посочили за Thread Group. Например, ако вие

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

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

Пример за контурен контролер

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

We повторна употреба Стъпка 1, 2 в урока JMeter Тестване на производителността.

  1. Добавяне на група теми

Десен бутон на План за тестване и добавете нова група нишки: Добави-> Нишки (потребители) ->Група теми

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

Добавяне на група теми

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

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

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

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

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

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

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

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

Конфигуриране на Loop Controller

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

Конфигуриране на Loop Controller

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

Използваме повторно стъпка 2 в Часовник за да добавите Преглед на резултатите в таблица

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

Добавете Преглед на резултатите в таблицата

Стъпка 4) Изпълнете своя тест

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

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

Стартирайте теста

Отстраняване на проблеми

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

Обобщете тази публикация с: