2016-12-20 3 views
3

Я пытаюсь выполнить тесты производительности jmeter автоматически для весеннего приложения.Maven/Spring не работает jmeter тесты правильно

Если я запустил приложение, а затем выполнил тесты jmeter после того, как все работает отлично.

Но если я бегу mvn -e -X verify без запуска приложения в отдельности, то это происходит:

2016-12-20 14:01:17.303 INFO 2024 --- [lication.main()] com.nttdata.iam.Application    : Started Application in 12.102 seconds (JVM running for 31.259) 
[DEBUG] Spring application is not ready yet, waiting 500ms (attempt 26) 
[DEBUG] Spring application is not ready yet, waiting 500ms (attempt 27) 

, что приводит к

[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.2.RELEASE:start (start-app-before-jmeter) on project iam-demo-microservice: Spring application did not start before the configured timeout (30000ms -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.2.RELEASE:start (start-app-before-jmeter) on project iam-demo-microservice: Spring application did not start before the configured timeout (30000ms 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) 
    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:863) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
    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:498) 
    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: Spring application did not start before the configured timeout (30000ms 
    at org.springframework.boot.maven.StartMojo.waitForSpringApplication(StartMojo.java:176) 
    at org.springframework.boot.maven.StartMojo.runWithMavenJvm(StartMojo.java:150) 
    at org.springframework.boot.maven.AbstractRunMojo.run(AbstractRunMojo.java:234) 
    at org.springframework.boot.maven.AbstractRunMojo.execute(AbstractRunMojo.java:170) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) 
    ... 20 more 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
2016-12-20 15:17:38.820 INFO 1284 --- [  Thread-5] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot[email protected]5fa74304: startup date [Tue Dec 20 15:17:08 CET 2016]; root of context hierarchy 
2016-12-20 15:17:38.820 INFO 1284 --- [  Thread-5] o.s.j.e.a.AnnotationMBeanExporter  : Unregistering JMX-exposed beans on shutdown 
2016-12-20 15:17:38.820 INFO 1284 --- [  Thread-5] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 

Я погуглить и пытается понять это на некоторое время теперь и я не понимаю, почему это не работает.

Билд часть моего pom.xml:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>start-app-before-jmeter</id> 
        <goals> 
         <goal>start</goal> 
        </goals> 
        <phase>pre-integration-test</phase> 
        <configuration> 
         <fork>false</fork> 
        </configuration> 
       </execution> 
       <execution> 
        <id>post-integration-test</id> 
        <goals> 
         <goal>stop</goal> 
        </goals> 
        <phase>post-integration-test</phase> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>com.lazerycode.jmeter</groupId> 
      <artifactId>jmeter-maven-plugin</artifactId> 
      <version>2.0.3</version> 
      <executions> 
       <execution> 
        <id>jmeter-tests</id> 
        <phase>integration-test</phase> 
        <goals> 
         <goal>jmeter</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <testResultsTimestamp>false</testResultsTimestamp> 
       <testFilesIncluded> 
        <jMeterTestFile>SimpleCustomerTestPlan.jmx</jMeterTestFile> 
       </testFilesIncluded> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

ответ

0

У вас не хватает интеграции-тест элемент, вот мое:

<plugin> 
       <groupId>com.lazerycode.jmeter</groupId> 
       <artifactId>jmeter-maven-plugin</artifactId> 
       <version>2.0.3</version> 
       <executions> 
        <execution> 
         <id>execute-jmeter-tests</id> 
         <goals> 
          <goal>jmeter</goal> 
         </goals> 
         <phase>integration-test</phase> 
        </execution> 
       </executions> 
      </plugin> 
+0

Нет, я так не думаю. Это просто написано выше , а не ниже. – Sylvia

+0

Для плагина spring-boot-maven-plug, вы пытались использовать false. Или кажется, что для вашего jmeter существует сценарий «wait-timer» для запуска теста после этого таймера ожидания, как показано в этой строке: вызвано: org.apache.maven.plugin.MojoExecutionException: приложение Spring не запускалось до заданного времени ожидания (30000 мс –

+0

Я имел в виду true

Смежные вопросы