Модульные тесты JMeter? - PullRequest
5 голосов
/ 23 марта 2011

Мы собираемся перенести нашу среду тестирования на JMeter.У нас есть 50+ тестовых случаев, каждый из которых с повторяющимися действиями, такими как Вход в систему и выход из системы, например.Как я могу модулировать мой подход?

Что я ищу, так это «Добавить тестовый элемент из файла», чтобы я мог, например, добавить код входа в систему.

У нас также есть такие вещи, как connectionID, которые должны бытьпередается на каждый запрос.В любом случае, jMeter может АВТОМАТИЧЕСКИ заменить все его вхождения переменной Jmeter?Atm-прокси-рекордер записывает фактическую строку подключения, и мы должны вручную заменить ее на $ {connectionID}.Есть ли лучший способ?

Ответы [ 6 ]

6 голосов
/ 19 мая 2011

Это прекрасно работает для меня.

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

Теперь, в любом конкретном тестовом случае, добавьте User Parameters и добавьте Module Controller. Контроллер модуля может указывать на раздел (ы) простого контроллера, который вы сделали ранее. Имейте простой контроллер с установленным $ {variable}, а затем переопределите его здесь, в конкретном тесте, который вы выполняете, поместив переменную в User Parameters. Таким образом, вы получаете разные переменные и тесты с одним и тем же набором.

Я поместил Simple Controller внутри Simple Controller, чтобы добавить длительные тесты БД. Это заканчивается как

Группа потоков> Простой контроллер> Простой контроллер> Запрос JDBC. Все переименованы.

Вы можете выбрать различные из них в контроллере модуля внутри тестов. У меня сейчас около шести, но это повторяется десятки раз.

Это все со стоковым Jmeter 2.3. Если вы находитесь в среде, в которой вы не можете установить плагины, это будет работать нормально. Я никогда не пробовал их

НТН

2 голосов
/ 11 июля 2015

Используя нижеприведенные элементы Jmeter, мы можем модулировать тестовые сценарии.

  1. Тестовый фрагмент
  2. Модуль контроллера
  3. Параметризованный контроллер
  4. Включить контроллер

Пожалуйста, проверьте это для более подробной информации и примеров.

http://www.testautomationguru.com/jmeter-modularizing-test-scripts/

2 голосов
/ 20 апреля 2012

Что касается автоматической замены идентификаторов соединений, то, насколько мне известно, нет способа сделать это через графический интерфейс. Однако тестовые сценарии представляют собой простые XML-файлы, и поэтому было бы очень легко написать сценарий sed или awk, который бы заменил вас.

Что касается части «добавить тестовый файл отсюда», то в версии 2.6 (не уверен в других версиях, они не используются) есть логический контроллер под названием «Включить контроллер», который может загружать тестовые фрагменты. Также есть возможность сохранить фрагменты тестового кода, называемые «тестовыми фрагментами», в свои файлы .jmx.

Если вы запустите новый план тестирования, щелкните правой кнопкой мыши план тестирования, затем добавьте -> фрагмент теста -> фрагмент теста, чтобы добавить контейнер, затем вы можете добавить другие свои запросы и использовать этот чанк внутри вышеупомянутого элемента Include.

Если вы можете использовать последнюю версию или если предыдущие версии поддерживают это, это может быть проще, чем написать собственный плагин.

1 голос
/ 23 марта 2011

Я знаю 2 варианта для вас:

  1. Модуль контроллера
  2. Параметризованный контроллер
0 голосов
/ 23 марта 2011

Во-первых, вы можете запускать скрипты jmeter под моделью "noGUI". Вы можете указать сценарии тестирования jmeter для запуска и поместить их в файл .bat. Как:

@ echo

JMeter -n -t MyTestPlan1.jmx

JMeter -n -t MyTestPlan2.jmx

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

0 голосов
/ 23 марта 2011

Что я ищу, так это «Добавить тестовый элемент из файла», чтобы я мог, например, добавить код входа в систему.

Похоже, вы хотите инкапсулироватьчасть этой повторяющейся логики в ваших собственных пользовательских сэмплерах или элементах конфигурации.На странице проекта .

есть руководство по написанию плагинов для JMeter. Это подход, который мы использовали в моей текущей команде для обработки запросов JMeter, имитирующих пользовательский формат RPC.

...