2014-02-03 1 views
1

Я пробовал все утро, но не успел отправить электронные письма после запуска моего набора тестов Selenium из командной строки с помощью Maven. Вот как мы запускаем пакет из командной строки.Не удалось отправить электронное письмо после тестирования с использованием плагина Maven Postman

mvn surefire:test 

Это использование плагина Surefire для запуска набора тестов TestNG/Selenium. Это отлично работает, и мы хотим продолжать использовать его. Мне нужен способ отправки сообщений по электронной почте после каждого запуска пакета. Я наткнулся на плагин Postman, и он отлично выглядит. Только проблема в том, что я не могу заставить ее работать вообще. Вот мой файл 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>com.mysite.carelogic.selenium</groupId> 
<artifactId>automation</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<name>carelogic-automation</name> 
<description>automation tests for carelogic webapp</description> 
<dependencies> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.37.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.8.7</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>20030203.000129</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.8-beta4</version> 
    </dependency> 
</dependencies> 
<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.16</version> 
       <configuration> 
        <suiteXmlFiles> 
         <suiteXmlFile>testng.xml</suiteXmlFile> 
        </suiteXmlFiles> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>ch.fortysix</groupId> 
       <artifactId>maven-postman-plugin</artifactId> 
       <version>0.1.6</version> 
       <executions> 
        <execution> 
         <id>send surefire notification</id> 
         <phase>deploy</phase> 
         <goals> 
          <goal>send-mail</goal> 
         </goals> 
         <inherited>false</inherited> 
         <configuration> 
          <skip>false</skip> 
          <from>[email protected]</from> 
          <subject>Automation Test Results</subject> 
          <mailhost>relay.mysite.com</mailhost> 
          <htmlMessageFile>target/surefire-reports/emailable-report.html</htmlMessageFile> 
          <receivers> 
           <receiver>[email protected]</receiver> 
           <receiver>[email protected]</receiver> 
          </receivers> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-report-plugin</artifactId> 
       <version>2.4.3</version> 
       <configuration> 
        <showSuccess>true</showSuccess> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

Я подтвердил с нашими techops, что наш почтовый сервер relay.mysite.com и свободно использовать порт 25. Нет пользователя или пароль не требуется. Когда я запускаю команду maven, мои тесты запускаются, и я могу видеть, что прошло и не удалось, но я не вижу уведомления о том, что maven пытался отправить любые электронные письма. Поэтому я не знаю, с чего начать отладку, чтобы понять, что не так. Любая помощь будет принята с благодарностью.

* EDIT Вот выход командной строки, который я получаю при запуске вышеуказанной команды mvn. Как вы можете видеть, не упоминается плагин postman или электронные письма вообще.

Results : 

Failed tests: 
    Coleman.shouldBeAbleToVerifyClientCaseLoad:84->BaseSmokeTest.shouldBeAbleToVerifyClientCaseLoad:294 » NoSuchElement 

Tests run: 2, Failures: 1, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 34.727s 
[INFO] Finished at: Mon Feb 03 11:44:49 CST 2014 
[INFO] Final Memory: 20M/141M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test) on project automation: There are test failures. 
[ERROR] 
[ERROR] Please refer to C:\Projects\automation\target\surefire-reports for the individual test results. 
[ERROR] -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test) on project automation: There are test failures. 

Please refer to C:\Projects\automation\target\surefire-reports for the individual test results. 
    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:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    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.MojoFailureException: There are test failures. 

Please refer to C:\Projects\automation\target\surefire-reports for the individual test results. 
    at org.apache.maven.plugin.surefire.SurefireHelper.reportExecution(SurefireHelper.java:82) 
    at org.apache.maven.plugin.surefire.SurefirePlugin.handleSummary(SurefirePlugin.java:190) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:852) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:720) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 19 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/MojoFailureException 

ответ

1

Ваше исполнение Maven никогда не доходит до плагина отправки почты, потому что есть ошибки тестирования. Добавьте эти строки в раздел конфигурации maven-surefire-plugin:

   <testErrorIgnore>true</testErrorIgnore> 
       <testFailureIgnore>true</testFailureIgnore> 

Это должно решить ваши проблемы.

+0

Линии не работают – deathangel908

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