Процесор у JMeter: PreProcessor & PostProcessor

Зміст:

Anonim

Процесор використовується для модифікації пробників за їх обсягом.

Існує 2 типи процесорів:

  1. Попередній процесор
  2. Постпроцесор

Попередній процесор:

Попередній процесор виконує певну дію перед поданням запиту пробовідбору.

Розглянемо простий приклад: припустимо, ви хотіли, щоб JMeter "провів" через перевірений веб-сайт, проаналізував посилання (перевірте всі посилання на сторінці) і повернув HTML. Ви повинні додати якусь дію, таку як "синтаксичний аналізатор посилань HTML", до свого контролера перед створенням запиту HTTP.

Постпроцесор:

Постпроцесор виконує певну дію після подання запиту пробовідбору.

Розглянемо простий приклад: JMeter надсилає HTTP-запит перевіряному веб-серверу (і т.д. www.google.com) та отримує відповідь. Ви хочете, щоб JMeter зупинив те, якщо відповідь сервера є помилкою. Ви можете використовувати постпроцесор для виконання вищевказаного завдання наступним чином:

Приклад постпроцесора

Цей посібник покаже вам покрокові інструкції щодо використання постпроцесора в JMeter. Почнемо з простого тестового сценарію.

  1. JMeter надсилає HTTP-запит веб-серверу, який перевіряється www.google.com.
  2. JMeter отримує відповідь від сервера Google.
  3. Якщо відповідь сервера є помилкою , JMeter зупинить тест.
  4. Якщо відповідь сервера нормальна (помилки немає), JMeter продовжить тест.

Ось дорожня карта цього прикладу:

Попередня умова:

Ми повторно використовуємо крок 1 і крок 2 у статті Тестування продуктивності JMeter.

Крок 1) Додати групу ниток

Клацніть правою кнопкою миші на тестовому плані та додайте нову групу ниток: Додати -> Потоки (користувачі) -> Група ниток

Але на панелі керування Thread Group введіть Thread Properties таким чином:

Цей параметр дозволяє JMeter створити 10 запитів користувачів на http://www.google.com 10 разів.

Крок 2) Додайте елементи JMeter

  • Додайте запит HTTP за замовчуванням
  • Додайте HTTP-запит

Ми все ще змушуємо JMeter надсилати запит http://www.google.com на сервер Google.

Крок 3) Додайте елемент постпроцесора

Клацніть правою кнопкою миші Групу ниток -> Додати -> Постпроцесор -> Обробник дій стану результату

Обробник дій результату статусу дозволяє користувачеві зупинити потік або весь тест, якщо запит користувача не вдався.

У Панелі обробки дій стану результату виберіть Зупинити перевірку зараз . Цей вибір зупинить тест, якщо JMeter отримає помилку від відповіді сервера.

Крок 4) Налаштуйте HTTP-запит

Відкрийте панель запитів HTTP. Введіть "abc" у поле Шлях.

Коли ви вводите "abc" у шлях, JMeter створить запит URL-адреси до сервера Google: http://www.google.com/abc. Ця URL-адреса не існує на сервері Google. Це неправильний запит URL-адреси, тому сервер Google видасть помилку.

Крок 5) Додати дерево результатів перегляду

Клацніть правою кнопкою миші групу ниток -> Додати -> Слухач -> Переглянути дерево результатів

Крок 6) Запустіть тест

Виберіть Переглянути дерево результатів, натисніть кнопку Виконати на рядку меню. Ви побачите відповідь на помилку із сервера Google, і тест зупиниться, не виконавши 100 потоків.

Тепер поверніться до кроку 4, відкрийте область запитів HTTP, введіть " календар " на панель. Це змушує JMeter створювати запит URL-адреси https://calendar.google.com/calendar/u/0/r на сервер Google. Це правильний запит URL-адреси, тому сервер Google повернеться нормально (без помилки).

Виберіть Переглянути дерево результатів, натисніть кнопку Виконати на рядку меню. Ви побачите відповідь ОК із сервера Google, і тест триватиме доти, доки не буде завершено всі 100 потоків.

Вирішення проблем:

Якщо ви зіткнулися з проблемою під час запуску вищевказаного сценарію…, виконайте такі дії:

  1. Перевірте, чи підключаєтесь ви до Інтернету через проксі. Якщо так, видаліть проксі.
  2. Відкрийте новий екземпляр Jmeter
  3. Відкрийте ProcessorTestPlan.jmx у Jmeter
  4. Двічі клацніть на Групі ниток -> Переглянути дерево результатів
  5. Запустіть тест