0

我创建了一个 jmeter 脚本,该脚本在测试计划中对多个 saop 请求使用吞吐量控制器(百分比设置)。

我能够在 jmeter GUI (jmeter 3.2) 中或从命令行执行脚本。

检查 jmeter 日志表明没有问题,它不会在 maven 项目中运行脚本。

POM 文件如下:

 <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>xxx.xxx.xxx</groupId>
<artifactId>com.webservices.performance</artifactId>
<version>0.0.1-SNAPSHOT</version>


<name>JMeterFramework</name>
<description>JMeterFramework</description>

<dependencies>

    <!-- https://mvnrepository.com/artifact/kg.apc/jmeter-plugins-fifo -->
    <dependency>
        <groupId>kg.apc</groupId>
        <artifactId>jmeter-plugins-fifo</artifactId>
        <version>0.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.21</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/properties-maven-plugin -->
    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0.0</version>
    </dependency>


</dependencies>
<build>
    <plugins>

        <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>2.2.0</version>

            <executions>
                <execution>
                    <id>jmeter-tests</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                </execution>

            </executions>

            <configuration>

                <copy file="${basedir}\src\test\resources\system.properties"
                    tofile="${basedir}\target\jmeter\bin\system.properties" />
                <propertiesSystem>
                    <javax.net.ssl.keyStore>${basedir}/certs/${env}certstore.jks</javax.net.ssl.keyStore>
                    <javax.net.ssl.keyStorePassword>${Password}</javax.net.ssl.keyStorePassword>
                </propertiesSystem>


                <testResultsTimestamp>false</testResultsTimestamp>
                <propertiesUser>
                    <loopcount>${loopcount}</loopcount>
                    <threads>${threads}</threads>

                    <rampup>${rampup}</rampup>

                    <duration>${duration}</duration>
                    <userData>${basedir}/resources/userDetails.csv</userData>
                    <aliasenv>${aliasenv}</aliasenv>
                    <hostname>${hostname}</hostname>
                    <hostnamerestservice>${hostnamerestservice}</hostnamerestservice>
                    <loadProgram>${basedir}/resources/loadProgram.csv</loadProgram>
                    <createCardpayload>${basedir}/resources/createCardpayload.csv</createCardpayload>
                    <CSVCert>${basedir}/resources/${aliasenv}certs.csv</CSVCert>
                    <cardsMTF>${basedir}/resources/cardsMTF.csv</cardsMTF>
                    <cardsStage>${basedir}/resources/cardsStage.csv</cardsStage>
                    <programLevel>${basedir}/resources/load${client}Program.csv</programLevel>
                    <cardLocation>${basedir}/resources/Newcards${aliasenv}.csv</cardLocation>


                    <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>

                    <jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message>
                    <jmeter.save.saveservice.output_format>xml</jmeter.save.saveservice.output_format>
                    <jmeter.save.saveservice.response_data>true</jmeter.save.saveservice.response_data>
                    <jmeter.save.saveservice.response_data.on_error>false</jmeter.save.saveservice.response_data.on_error>

                    <jmeter.reportgenerator.report_title>Performance TestReport for
                        ${__TestPlanName} in ${env}</jmeter.reportgenerator.report_title>
                    <jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format>

                </propertiesUser>

                <testFilesIncluded>

                    <jMeterTestFile>${JMeterTestFile}.jmx</jMeterTestFile>

                </testFilesIncluded>
         <overrideRootLogLevel>debug</overrideRootLogLevel>
            </configuration>

        </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"
                                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.2.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>
</build>

4

0 回答 0