Как использовать CMDRunner для преобразования файла JTL в таблицу CSV Save? - PullRequest
0 голосов
/ 03 октября 2018

В ответе здесь предлагается создать bat-файл для преобразования JTL-файла в CSV-файл, в котором будет «сохранять данные таблицы».

Командная строка Jmeter для «сохранения данных таблицы» всводный отчет

Я добавил CMDRunner.jar зависимость maven в файл проекта pom.xml.Используя это, я хочу написать кусок кода Java, который помог бы мне сделать то, что делает файл bat выше.

Я не понимаю функции, приведенные в этом api / jar.Как начать?

enter image description here

Позже у меня будет жизненный цикл maven, который будет работать следующим образом:

  1. mvn clean verify> Выводом будет файл jtl
  2. mvn test> JTL конвертируется в CSV с использованием указанного выше кода
  3. mvn sendreports> отправка csv на электронную почту

1 Ответ

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

Если вы не знаете, как использовать API плагинов JMeter, самый простой способ будет использовать плагин Maven Exec , таким образом вы сможете запустить JMeterPluginsCMD Tool Line Tool с необходимыми параметрами в произвольной фазе Maven Build Lifecycle

Пример pom.xml файл будет выглядеть так:

<?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>jmeter-maven</groupId>
    <artifactId>com.example.jmeter-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <timestamp>${maven.build.timestamp}</timestamp>
        <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.7.0</version>
                <configuration>
                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins-cmd:2.1</artifact>
                        <artifact>kg.apc:cmdrunner:2.2.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-cmn-jmeter:0.6</artifact>
                        <artifact>kg.apc:jmeter-plugins-graphs-basic:2.0</artifact>
                        <artifact>kg.apc:jmeter-plugins-synthesis:2.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-filterresults:2.1</artifact>
                    </jmeterExtensions>
                    <downloadExtensionDependencies>false</downloadExtensionDependencies>
                </configuration>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jmeter-check-results</id>
                        <goals>
                            <goal>results</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <executions>
                    <execution>
                        <id>copy-cmdrunner-to-lib-folder</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <basedir>${basedir}/target/jmeter/lib/ext</basedir>
                            <executable>cp</executable>
                            <commandlineArgs>cmdrunner-2.2.1.jar ..</commandlineArgs>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-aggregate-report</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <basedir>${basedir}/target/jmeter/lib</basedir>
                            <executable>java</executable>
                            <commandlineArgs>-jar cmdrunner-2.2.1.jar --tool Reporter --generate-csv ${basedir}/target/aggregate.csv --input-jtl ${basedir}/target/jmeter/results/${timestamp}-test.csv --plugin-type AggregateReport</commandlineArgs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Он будет производить aggregate.csv файл в папке target , который будет содержать текстовое представление Сводного отчета data

Для выполнения не Maven вы можете установить необходимые плагины с помощью JMeterМенеджер плагинов

...