2016-11-04 11 views
1

Я не могу создать отчет Dashboard для Jmeter 3.0 с помощью Jmeter-maven-plugin версии 2.0.3. Я добавил и добавил свойства jmeter.save.saveervice в моей конфигурации pom под конфигурацией в плагине Jmeter maven, но я получаю «обеспечить, чтобы свойства jmeter.save.saveervice. * Были такими же, как при создании файла CSV или чтение файла неверно ", когда я пытаюсь создать отчетную панель после выполнения.Как настроить плагин Jmeter maven для создания панели отчетов отчета Jmeter 3.0

Я также добавил Jmeter.properties и user.properties в папку src/test/jmeter, и я вижу, что эти свойства добавляются к этим файлам в моей целевой папке после выполнения.

Может кто-нибудь скажет мне, как должен быть pom, чтобы мы могли автоматически создать панель отчетов для Jmeter 3.0.

Благодаря

+0

Поддержка этого будет в следующем выпуске JMeter-Maven-плагин: https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/issues/208 – Ardesco

ответ

2

Вот шаги -

  • Copy report-templatereportgenerator.reporties из каталога JMeter бин и сохранить его в src/test/resources папке
  • Добавить maven-antrun-plugin в вашем ПОМ следующим образом -

<plugin> 
 
<artifactId>maven-antrun-plugin</artifactId> 
 
    <executions> 
 
    <execution> 
 
    <phase>pre-site</phase> 
 
    <configuration> 
 
     <tasks> 
 
     <mkdir dir="${basedir}/target/jmeter/results/dashboard" /> 
 
           <copy file="${basedir}/src/test/resources/reportgenerator.properties" 
 
\t \t \t \t \t \t \t \t \t tofile="${basedir}/target/jmeter/bin/reportgenerator.properties" /> 
 
           <copy todir="${basedir}/target/jmeter/bin/report-template"> 
 
            <fileset dir="${basedir}/src/test/resources/report-template" /> 
 
           </copy> 
 
           <java jar="${basedir}/target/jmeter/bin/ApacheJMeter-3.0.jar" fork="true"> 
 
            <arg value="-g" /> 
 
            <arg value="${basedir}/target/jmeter/results/*.jtl" /> 
 
            <arg value="-o" /> 
 
            <arg value="${basedir}/target/jmeter/results/dashboard/" /> 
 
           </java> 
 
     </tasks> 
 
     </configuration> 
 
    <goals> 
 
    <goal>run</goal> 
 
    </goals> 
 
</execution> 
 
    </executions> 
 
</plugin>

После выполнения нагрузочного теста вы можете выполнить mvn pre-site и он будет генерировать тест JMeter панель под target\jmeter\results\dashboard

Ссылка - http://www.testautomationguru.com/jmeter-continuous-performance-testing-jmeter-maven/

несколько вещей - я не использую maven jmeter analysis поскольку HTML приборная панель намного лучше этого. Следовательно, я генерирую результаты тестов в формате csv, который менее ресурсоемкий, чем xml. Я использую следующий скрипт, чтобы отметить CI работу как сбой в результате ошибок тестирования после запуска теста и генерирования отчетов -

if grep false ${WORKSPACE}/prototype/target/jmeter/results/TestPlanNew.jtl; then 
echo "Test Failures!!! please check "${WORKSPACE}/prototype/target/jmeter/results/TestPlanNew.jtl" file" 
exit 1 
fi 
0

Я хочу предложить изменения/дополнения к @ ответ Tarun, поскольку я получаю следующее ошибка при запуске mvn pre-site:

[java] An error occurred: Cannot read test results file :.../target/jmeter/results/*.jtl 

Он должен был сделать с помощью подстановки для результирующего файла. Если вам требуется динамическое имя файла .jtl, вы также можете скопировать файл и указать ему статическое имя. Так, например, с помощью включая следующий <copy> блок в <tasks>:

<mkdir dir="${basedir}/target/jmeter/results/tmp" /> 
<copy todir="${basedir}/target/jmeter/results/tmp"> 
    <fileset dir="${basedir}/target/jmeter/results/" > 
     <include name="**/*.jtl"/> 
    </fileset> 
    <globmapper from="*" to="result.jtl" /> 
</copy> 

и регулировки значения для -g аргумента соответственно

<arg value="${basedir}/target/jmeter/results/tmp/result.jtl" /> 

Наконец, после того, также включая org.slf4j:slf4j-simple:1.7.21 зависимостей (версия может изменяться с течением времени) для JMeter (3.1), он работал и сгенерировал панель инструментов HTML, как и ожидалось.

0

Использование последней версии plugin будет сгенерировано по умолчанию.

Образец 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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.foo</groupId> 
    <artifactId>test</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>training-project</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    </dependencies> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>com.lazerycode.jmeter</groupId> 
       <artifactId>jmeter-maven-plugin</artifactId> 
       <version>2.6.0</version> 
       <executions> 
        <execution> 
         <id>jmeter-tests</id> 
         <goals> 
          <goal>jmeter</goal> 
         </goals> 
        </execution> 
        <execution> 
         <id>jmeter-tests2</id> 
         <goals> 
          <goal>results</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <generateReports>true</generateReports> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project>