Плагины JMeter при выполнении из Maven

Можно ли использовать плагины JMeter при запуске JMeter из плагина jmeter-maven-plugin?

ОБНОВИТЬ

Я пытался добавить jmeter-plugins зависимость от определения плагина в соответствии с полезным ответом Ardesco, но я получаю множество ClassNotFoundExceptions. Кажется, что Maven не ставит jmeter-pluginпереходные зависимости на пути к классам при выполнении JMeter. Есть идеи?

3 ответа

Решение

Хотя этот ответ принят, он работает только для версий до 2.X. Но для версии выше 2.X смотрите этот ответ.

Да, вы можете добавить любые библиотеки, которые вам нужны, добавив зависимости в плагин, любые явно определенные зависимости будут скопированы в ваш каталог jmeter/lib.

Если зависимость - это плагин JMeter, вы можете указать это в своей конфигурации, а затем эта зависимость будет скопирована в ваш каталог meter/lib/ext:

<plugin>
    <groupId>com.lazerycode.jmeter</groupId>
    <artifactId>jmeter-maven-plugin</artifactId>
    <version>1.9.0</version>
    <executions>
        <execution>
            <id>jmeter-tests</id>
            <phase>verify</phase>
            <goals>
                <goal>jmeter</goal>
            </goals>
            <configuration>
                <jmeterPlugins>
                    <plugin>
                        <groupId>kg.apc</groupId>
                        <artifactId>jmeter-plugins</artifactId>
                    </plugin>
                </jmeterPlugins>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>kg.apc</groupId>
            <artifactId>jmeter-plugins</artifactId>
            <version>1.1.3</version>
        </dependency>
    </dependencies>
</plugin>

Эта функциональность была нарушена до версии 1.9.0.

Используйте версию 2.6.0 или выше плагин

и добавить:

<configuration>
    <jmeterExtensions>
         <artifacts>kg.apc:jmeter-plugins-casutg:2.4</artifacts>
    </jmeterExtensions>
    <excludedArtifacts>
        <exclusion>commons-pool2:commons-pool2</exclusion>
        <exclusion>commons-math3:commons-math3</exclusion>
    </excludedArtifacts>
    ...
</configuration>

jmeter 3.4.0

Если у вас есть какие-либо внешние зависимости, используйте приведенную ниже.

           <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>3.4.0</version>
            <configuration>
                
                <!--testPlanLibraries - if you have any dependency with external jars pls add artifact here-->
                <!-- beanshell preprocessor you can write java so this is useful-->
                <testPlanLibraries>
                     <artifact>com.konghq:unirest-java:3.11.11</artifact>
                 </testPlanLibraries>

                <testFilesDirectory>src/test/jmeter</testFilesDirectory>
                <suppressJMeterOutput>false</suppressJMeterOutput>
                <appendResultsTimestamp>true</appendResultsTimestamp>
                <downloadJMeterDependencies>true</downloadJMeterDependencies>
                <downloadLibraryDependencies>true</downloadLibraryDependencies>
                <downloadExtensionDependencies>true</downloadExtensionDependencies>
                <downloadOptionalDependencies>true</downloadOptionalDependencies>
                <jMeterProcessJVMSettings>
                    <!-- for setting any arguments please use this section -->
                    <arguments>
                        <argument>-Dhttps.use.cached.ssl.context=false</argument>
                        <argument>-Djavax.net.ssl.keyStoreType=jks</argument>
                        <argument>-Djavax.net.ssl.keyStore=${clientCertKeystorePath}</argument>
                        <argument>-Djavax.net.ssl.keyStorePassword=${keyStorePassword}</argument>
                    </arguments>
                </jMeterProcessJVMSettings>
            </configuration>
            <executions>
                <execution>
                    <id>configuration</id>
                    <goals>
                        <goal>configure</goal>
                    </goals>
                </execution>
                <!-- Run JMeter tests -->
                <execution>
                    <id>jmeter-tests</id>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                </execution>
                <!-- Fail build on errors in test -->
                <execution>
                    <id>jmeter-check-results</id>
                    <goals>
                        <goal>results</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Вы можете проверить $ {project-root} / target / long-folder-name / jmeter / lib / и убедиться, что там присутствует ваш jar. Что касается меня, у меня есть зависимость от Уриреста для публикации сообщения для получения токена.

Другие вопросы по тегам