HTML отчеты Apache Dashboard с плагином Jmeter Maven - PullRequest
0 голосов
/ 18 октября 2018

Я хочу, чтобы mvn clean verify выполнил для меня следующую команду

jmeter -n -t <file.jmx> -l <reports.csv> -e -o /htmlReports

Я проверил ниже аналогичный вопрос Как создавать отчеты HTML с использованием Jmeter Maven Plugin 2.1.0. но у меня это не сработало.

Я хочу, чтобы все данные были в папке target, плюс .jtl, чтобы при следующем запуске все предыдущие были очищены.

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.demo.performancetesting</groupId>
    <artifactId>Demo-performance-testing</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.8.0</version>
                <configuration>

                        <generateReports>true</generateReports>
                    </configuration>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>de.codecentric</groupId>
                <artifactId>jmeter-graph-maven-plugin</artifactId>
                <version>0.1.0</version>
                <configuration>
                    <inputFile>${project.build.directory}/jmeter/results/*.jtl</inputFile>
                    <graphs>
                        <graph>
                            <pluginType>ResponseTimesOverTime</pluginType>
                            <width>800</width>
                            <height>600</height>
                            <outputFile>${project.build.directory}/jmeter/results/BlazeDemoRequest.png</outputFile>
                        </graph>
                    </graphs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Создание отчетов с помощью JMeter Maven Plugin работает в соответствии с вашими требованиями, вам не нужно никаких дополнительных плагинов.Пример:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.demo.performancetesting</groupId>
    <artifactId>Demo-performance-testing</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.8.0</version>
                <executions>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Требования:

  • скопируйте файл jmx в папку src / test / jmeter
  • , если вы используете сторонние плагины, такие как JMeterПлагины , убедитесь, что вы следуете этой документации
  • , если вы используете файлы данных CSV - скопируйте их в папку src / test / jmeter
0 голосов
/ 21 октября 2018

Шаг 1 - Создание плана тестирования и сохранение сценария JMX

Шаг 2 - Выполнение тестов JMeter

<plugin>
    <groupId>com.lazerycode.jmeter</groupId>
    <artifactId>jmeter-maven-plugin</artifactId>
    <version>1.8.1</version>
    <executions>
     <execution>
      <id>jmeter-tests</id>
      <phase>verify</phase>
      <goals>
       <goal>jmeter</goal>
      </goals>
     </execution>
    </executions>
    <configuration>
     <ignoreResultFailures>true</ignoreResultFailures>
     <testResultsTimestamp>false</testResultsTimestamp>
    </configuration>
   </plugin>

Шаг 3 - Сохранение результата теста в файл csv / xls

Шаг 4 - Следующий плагин используется для преобразования результата

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>xml-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
     <execution>
      <phase>verify</phase>
      <goals>
       <goal>transform</goal>
      </goals>
     </execution>
    </executions>
    <configuration>
     <transformationSets>
      <transformationSet>
       <dir>${project.build.directory}/jmeter/results</dir>
       <stylesheet>${project.basedir}/src/main/jmeter-results-report_21.xsl</stylesheet>
       <outputDir>${project.build.directory}/jmeter/results</outputDir>
       <fileMappers>
        <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
         <pattern>(.*?)\s(.*?)</pattern>
         <replacement>$1$2</replacement>
         <replaceAll>true</replaceAll>
        </fileMapper>
        <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
         <targetExtension>.html</targetExtension>
        </fileMapper>
       </fileMappers>
      </transformationSet>
     </transformationSets>
    </configuration>
   </plugin>
0 голосов
/ 19 октября 2018

Вы можете сделать это, используя Плагин Maven Exec , соответствующая конфигурация будет

<configuration>
    <basedir>/path/to/bin/folder/of/your/jmeter/installation</basedir>
    <executable>jmeter</executable>
    <commandlineArgs>-n -t -f file.jmx -l ${basedir}/target/reports.csv -e -o ${basedir}/target/htmlReports</commandlineArgs>
</configuration>

На всякий случай, если что-то "не сработает", снова будет заполнено pom.xml file

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>jmeter</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <executions>
                    <execution>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <basedir>/path/to/bin/folder/of/your/jmeter/installation</basedir>
                            <executable>jmeter</executable>
                            <commandlineArgs>-n -t -f file.jmx -l ${basedir}/target/reports.csv -e -o
                                ${basedir}/target/htmlReports
                            </commandlineArgs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

Не забудьте изменить /path/to/bin/folder/of/your/jmeter/installation на реальный путь к вашему JMeter , иначе он "не будет работать".


Создание отчета с помощью Плагин JMeter Maven также должен работать нормально, если у вас возникли какие-либо проблемы, пожалуйста, покажите файл pom.xml и вывод команды maven.

Пример конфигурации, которую вы можете использовать для справки:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>jmeter</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.8.0</version>
                <executions>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                        <configuration>
                            <generateReports>true</generateReports>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

NB

  • вам нужно будет скопировать ваш скрипт file.jmx в папку src / test / jmeterв противном случае он "не будет работать"
  • , если в вашем тесте используются какие-либо JMeter Plugins - он "не будет работать" без , не определяя их как зависимости
  • если ваш тест использует внешние файлы данных - он "не будет работать", если вы не скопируете их в папку src / test / jmeter

Дополнительная информация: Пять способов запустить тест JMeter безИспользование графического интерфейса JMeter

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