Какой плагин maven должен использоваться для JMeter? jmeter-maven-plugin или chronos-jmeter-maven-plugin?
Мне нужно настроить тесты производительности, которые запускаются автоматически с помощью CI-системы. Для этого я хочу использовать JMeter из-за некоторых сценариев, и опыт уже существует, и я хочу объединить его с Maven.
Во время моего исследования для разумного плагина я обнаружил, что существуют два плагина:
Какой из них лучше использовать? Оба, похоже, в настоящее время поддерживаются и находятся в стадии разработки. Есть ли опыт в этом? Даже конфигурация аналогична.
Я был бы рад получить некоторые подсказки, которые помогут мне разобраться, не играя с обоими плагинами в течение нескольких дней.
Ответы
Ответ 1
Я еще не использовал файлы .jmx с maven и, в частности, те плагины, которые вы упомянули.
Но я могу думать о том, как это сделать, если мне это нужно.
Итак, рассмотрите это, вы можете выполнить тест jmeter в режиме gui.
- Создайте оболочку script, которая выполнит тест jmeter в режиме gui, например (jmeter_exe.sh):
$JMETER_HOME/bin/jmeter.sh -n -t MY_LOAD_TEST.jmx -l resultFile.jtl
Итак, это выполнит данный script и сохранит результаты в файле .jtl
, вы можете использовать его для отображения результатов теста, возможно, this post будет полезен для вас, пока он не работает.
Сделаем первый шаг.
2. Тогда вы можете создать каталог scripts
в корне вашего проекта. Чем вы можете поместить это в свой pom.xml:
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution>
<id>Run load Test</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/scripts/jmeter_exe.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
И ваш тест выполняется во время фазы источников-источников. Это могло быть проще с плагинами, которые вы упомянули, но я не знаю об этом, вот что мне пришло в голову.
Ответ 2
Использовать jmeter-maven-plugin: http://wiki.apache.org/jmeter/JMeterMavenPlugin.
Это де-факто один и (как упоминалось выше в @Ardesco), он не требует ничего, чтобы быть установленным, что дает вам абстракцию, на которой установлен исполняемый файл JMeter, и все эти проблемы...
Ответ 3
Слово предупреждения в плагине apache (lazerycode):
- Он подавляет вывод JMeter по умолчанию, добавляет следующие параметры конфигурации, чтобы предотвратить это:
<configuration>
<suppressJMeterOutput>false</suppressJMeterOutput>
<!-- to override debug logging from the plugin (although also in jmeter.properties) -->
<overrideRootLogLevel>debug</overrideRootLogLevel>
<jmeterLogLevel>DEBUG</jmeterLogLevel>
</configuration>
-
Глядя на источник (версии 1.8.1), кажется, что -Xms и Xmx ограничены 512
-
Плагин проглатывает исключения, поэтому ваши тесты могут потерпеть неудачу, но вы не знаете, почему. Похоже, что они только что завершили, но не предоставили результаты.
-
jmeter mojo запускает jmeter как новый java-процесс, но не предоставляет возможности предоставить какие-либо аргументы для этого выполнения. Поэтому, если исключения проглатываются (см. Выше), и регистрация недостаточно (что может быть не так), непросто отлаживать процесс, чтобы выжать из строя то, что неправильно. Мы (мой коллега) добавили отладочные аргументы в выполнение процесса и отладили вызов jmeter, чтобы узнать.
-
вы получаете информативный вывод, запускающий jmeter непосредственно для целей dev. Я бы сказал, что это еще более информативно в выходе интерфейса jmeter.
Я не использовал ум хронов.
Ответ 4
JMeter Maven Plugin от @Ardesco обновляется каждый раз, когда выпущена версия JMeter.
Он очень хорошо документирован и отлично работает.
Он легко настраивается и позволяет легко добавлять плагины, такие как JMeter-Plugins или коммерческие плагины, до тех пор, пока требуются библиотеки.
Вы можете прочитать полный блог, показывающий установку для старой версии 1.1.10:
Для более новой версии 2.5.1 (по состоянию на ноябрь 2017 года) убедитесь, что вы читаете документацию: