2

我正在学习 jmeter 并尝试使用 Maven 对其进行配置,但是当我运行“mvn verify -e”时出现以下异常

    [ERROR] Failed to execute goal com.lazerycode.jmeter:jmeter-maven-     plugin:1.9.0:jmeter (jmeter-tests) on project jmeter: C:\qa\jmeter\target\jmeter\results\20150921-JmeterTests.jtl    (The system cannot find the file specified) -> [Help 1]
   org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.lazerycode.jmeter:jmeter-maven-plugin:1.9.0:jmeter (jmeter-tests) on project jmeter: C:\hass-git\cpp_ocp2\cpp_ocp2\qa\jmeter\target\jmeter\results\20150921-JmeterTests.jtl (The system cannot find the file specified)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
   Caused by: org.apache.maven.plugin.MojoExecutionException: C:\qa\jmeter\target\jmeter\results\20150921-JmeterTests.jtl (The system cannot find the file specified)
    at com.lazerycode.jmeter.JMeterMojo.parseTestResults(JMeterMojo.java:75)
    at com.lazerycode.jmeter.JMeterMojo.execute(JMeterMojo.java:54)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    ... 20 more

我的 pom.xml 有

    <build>
    <plugins>
        <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>1.9.0</version>
            <executions>
                <execution>
                    <id>jmeter-tests</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>

            </configuration>
        </plugin>
        <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-analysis-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>analyze</goal>
                    </goals>
                    <configuration>

                        <source>${project.build.directory}/**/*.jtl</source>


                        <targetDirectory>${project.build.directory}/results</targetDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我的文件夹结构是

  qa/jmeter/src/test/jmeter/jmeterTests.jmx
4

1 回答 1

1

执行mvn -e -X verify,查看更多输出,什么进展顺利以及错误发生的地点、时间和原因。

将这些选项添加到您的jmeter-maven-plugin并再次运行 jmeter 脚本。希望能显示更多细节,关于什么时候出了什么问题。目前看起来输出文件没有写入左右......

<configuration>
    <!-- By default the test results are saved in a file /target/jmeter/results/<testname>-<timestamp>.jtl 
        Further processing is easier without timestamp though. -->
    <testResultsTimestamp>false</testResultsTimestamp>

    <!-- To simplify debugging, it is advisable to adapt the loglevel. The 
        jmeter logs are written to the file jmeter.log. -->
    <overrideRootLogLevel>DEBUG</overrideRootLogLevel>

    <!-- By default, the console output during a jmeter test run is suppressed. 
        We want to display the progress using the listener "Generate Summary Results" 
        (which periodically prints stats to stdout). Therefore we have to make sure, 
        that the jmeter output is not suppressed. -->
    <suppressJMeterOutput>false</suppressJMeterOutput>

    <!-- If tests fail (e.g. a http-request running into a timeout), the corresponding 
        maven goal also fails (and subsequent goals aren't executed anymore). We 
        want to create graphs from test-results, no matter if some requests failed 
        or not, so we ignore jmeter failures. -->
    <ignoreResultFailures>true</ignoreResultFailures>
</configuration>

提示:使用最新的 jmeter-maven-plugin(当前版本 1.10.1)

于 2015-09-22T12:16:51.203 回答