2016-11-05 5 views
1

Я могу сгенерировать отчет панели управления Jmeter вручную, используя эту команду jmeter -g /path/to/jtl/file -o /where/you/want/to/store/dashboard , но я хочу сгенерировать ее через проект maven.Как создать отчет панели управления jmeter через проект maven

Есть ли способ?

Ниже плагин например:

<goals> 
<goal>jmeter</goal> 
</goals> 
<configuration> 
    <propertiesUser> 
    <jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format> 
    <jmeter.save.saveservice.bytes>true</jmeter.save.saveservice.bytes> 
    <jmeter.save.saveservice.label>true</jmeter.save.saveservice.label> 
    <jmeter.save.saveservice.latency>true</jmeter.save.saveservice.latency> 
    <jmeter.save.saveservice.response_code>true</jmeter.save.saveservice.response_code> 
    <jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message> 
    <jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful> 
    <jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts> 
    <jmeter.save.saveservice.thread_name>true</jmeter.save.saveservice.thread_name> 
    <jmeter.save.saveservice.time>true</jmeter.save.saveservice.time></propertiesUser> 
<propertiesSaveService> 
    <output_format>csv</output_format> 
</propertiesSaveService> 
+0

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

ответ

0

Это, как создать отчет HTML с использованием MVN MVN муравья плагина.

У меня есть report-template и reportgenerator.properties под src/testresources.

<plugins> 
     <plugin> 
      <groupId>com.lazerycode.jmeter</groupId> 
      <artifactId>jmeter-maven-plugin</artifactId> 
      <version>2.0.3</version> 
      <configuration> 
       <testResultsTimestamp>false</testResultsTimestamp> 
       <propertiesUser> 
        <jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format> 
        <jmeter.save.saveservice.bytes>true</jmeter.save.saveservice.bytes> 
        <jmeter.save.saveservice.label>true</jmeter.save.saveservice.label> 
        <jmeter.save.saveservice.latency>true</jmeter.save.saveservice.latency> 
        <jmeter.save.saveservice.response_code>true</jmeter.save.saveservice.response_code> 
        <jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message> 
        <jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful> 
        <jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts> 
        <jmeter.save.saveservice.thread_name>true</jmeter.save.saveservice.thread_name> 
        <jmeter.save.saveservice.time>true</jmeter.save.saveservice.time> 
       </propertiesUser> 
      </configuration> 
      <executions> 
       <execution> 
        <id>jmeter-tests</id> 
        <phase>verify</phase> 
        <goals> 
         <goal>jmeter</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>verify</phase> 
        <configuration> 
         <tasks> 
          <mkdir dir="${basedir}/target/jmeter/results/dashboard" /> 
          <copy file="${basedir}/src/test/resources/reportgenerator.properties" 
            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> 
    </plugins> 
+0

спасибо за помощь. Я пробовал это, и теперь я получаю ниже ошибки: Произошла ошибка: для генерации отчета требуется формат вывода csv, проверьте свойство «jmeter.save.saveservice.output_format» [INFO] Выполненные задачи [java] Java Результат: 1 –

+0

' csv '- проверьте это. новый формат отчета ожидает, что выходной файл будет в формате csv – vins

0

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

<jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format> 
<jmeter.save.saveservice.bytes>true</jmeter.save.saveservice.bytes> 
<jmeter.save.saveservice.label>true</jmeter.save.saveservice.label> 
<jmeter.save.saveservice.latency>true</jmeter.save.saveservice.latency> 
<jmeter.save.saveservice.response_code>true</jmeter.save.saveservice.response_code> 
<jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message> 
<jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful> 
<jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts> 
<jmeter.save.saveservice.thread_name>true</jmeter.save.saveservice.thread_name> 
<jmeter.save.saveservice.time>true</jmeter.save.saveservice.time> 

Я считаю, что самый простой способ будет использовать Exec Maven Plugin, что-то вроде:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
      <phase>verify</phase> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <executable>java</executable> 
     <arguments> 
      <argument>-jar</argument> 
      <argument>${basedir}/target/jmeter/bin/ApacheJMeter-3.0.jar</argument> 
      <argument>-g</argument> 
      <argument>${basedir}/target/jmeter/results/${maven.build.timestamp}-example.jtl</argument> 
      <argument>-o</argument> 
      <argument>${basedir}/target/dashboard</argument> 
     </arguments> 
    </configuration> 
</plugin> 

Вам может понадобиться скопировать reportgenerator.properties файл и report-template папки «мишень/JMeter/бен» директория вашего Maven проекта (он не выдержит «чистую» фазу) или дублируют свойства, как это описано в главе Adding Additional Properties To.

См Five Ways To Launch a JMeter Test without Using the JMeter GUI статьи для получения дополнительной информации о различных вариантах выполнения теста JMeter

+0

спасибо за Помогите. Я попробовал это, и теперь я получаю ниже ошибки: произошла ошибка: Генерация отчетов требует формат CSV, проверьте «jmeter.save.saveservice.output_format» собственности [INFO] выполняемых задач [Java] Java Результат: 1 –

+0

Мое предположение заключается в том, что вы либо пропустили ' csv' строку, либо пытаетесь добавить новые результаты CSV к существующему файлу в формате XML. –

+0

Это сработало. .благодаря! –