Maven Jenkins+selenium使用故障保护插件进行测试

Maven Jenkins+selenium使用故障保护插件进行测试,maven,selenium,jenkins,integration,maven-failsafe-plugin,Maven,Selenium,Jenkins,Integration,Maven Failsafe Plugin,我有一个Jenkins平台,它调用maven使用surefire插件进行单元测试,并使用failsafe插件进行集成测试。当集成测试中出现错误时,Jenkins认为构建成功。这种行为正常吗?我希望它认为构建是不稳定的。更一般地说,你知道詹金斯是如何阅读并解释构建结果的,认为构建是成功的还是不稳定的?我在网上的某个地方读到,故障保护报告必须重定向到surefire报告路径。我确实确认了身份,但问题仍然存在 pom.xml: [...] maven surefire插件 2.10 错误的 默认测试

我有一个Jenkins平台,它调用maven使用surefire插件进行单元测试,并使用failsafe插件进行集成测试。当集成测试中出现错误时,Jenkins认为构建成功。这种行为正常吗?我希望它认为构建是不稳定的。更一般地说,你知道詹金斯是如何阅读并解释构建结果的,认为构建是成功的还是不稳定的?我在网上的某个地方读到,故障保护报告必须重定向到surefire报告路径。我确实确认了身份,但问题仍然存在

pom.xml:

[...] maven surefire插件 2.10 错误的 默认测试 测验 **/测验/** **/测试整合/** org.apache.maven.plugins maven故障保护插件 2.7.2 错误的 ${basedir}/target/surefire报告 com/acelys/conventionsJuridiques/*.java 集成测试 集成测试 集成测试 **/测试整合/** **/测验/** [...] 詹金斯的产出:

[...]
mojoStarted org.apache.maven.plugins:maven-failsafe-plugin:2.7.2(integration-test)
[INFO] 
[INFO] --- maven-failsafe-plugin:2.7.2:integration-test (integration-test) @ BaseContrats ---
[INFO] Failsafe report directory: C:\jenkins_home\workspace\Base Contrats EXT JS MAVEN\target\surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.acelys.conventionsJuridiques.testsIntegration.connexion.TestConnexion

Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 23.971 sec <<< FAILURE!

Results :

Failed tests: 
  testHomePage(com.acelys.conventionsJuridiques.testsIntegration.connexion.TestConnexion)

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

[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
mojoSucceeded org.apache.maven.plugins:maven-failsafe-plugin:2.7.2(integration-test)
mojoStarted org.apache.tomcat.maven:tomcat6-maven-plugin:2.1-SNAPSHOT(tomcat-shutdown)
[INFO] 
[INFO] --- tomcat6-maven-plugin:2.1-SNAPSHOT:shutdown (tomcat-shutdown) @ BaseContrats ---
25 févr. 2013 09:32:08 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
25 févr. 2013 09:32:08 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
25 févr. 2013 09:32:08 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

mojoSucceeded org.apache.tomcat.maven:tomcat6-maven-plugin:2.1-SNAPSHOT(tomcat-shutdown)
projectSucceeded BaseContrats:BaseContrats:1.0-SNAPSHOT
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:07.408s
[INFO] Finished at: Mon Feb 25 09:32:08 CET 2013
[INFO] Final Memory: 13M/51M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: BaseContrats:BaseContrats:1.0-SNAPSHOT @ C:\jenkins_home\workspace\Base Contrats EXT JS MAVEN\pom.xml]
[JENKINS] Archiving C:\jenkins_home\workspace\Base Contrats EXT JS MAVEN\pom.xml to C:\jenkins_home\jobs\Base Contrats EXT JS MAVEN\modules\BaseContrats$BaseContrats\builds\2013-02-25_09-29-58\archive\BaseContrats\BaseContrats\1.0-SNAPSHOT\BaseContrats-1.0-SNAPSHOT.pom
[JENKINS] Archiving C:\jenkins_home\workspace\Base Contrats EXT JS MAVEN\target\ConventionsJuridiques.war to C:\jenkins_home\jobs\Base Contrats EXT JS MAVEN\modules\BaseContrats$BaseContrats\builds\2013-02-25_09-29-58\archive\BaseContrats\BaseContrats\1.0-SNAPSHOT\BaseContrats-1.0-SNAPSHOT.war
channel stopped
Finished: SUCCESS

你可以看到maven取得了成功。这将使詹金斯也取得成功

要将构建标记为不稳定,您需要一个构建后操作,该操作将分析您的测试结果并将构建标记为失败或不稳定。我建议您搜索更多关于Jenkins后期构建操作的详细信息,以处理测试结果并根据需要标记构建


希望这能有所帮助。

你可以看到maven取得了成功。这将使詹金斯也取得成功

要将构建标记为不稳定,您需要一个构建后操作,该操作将分析您的测试结果并将构建标记为失败或不稳定。我建议您搜索更多关于Jenkins后期构建操作的详细信息,以处理测试结果并根据需要标记构建


希望这有帮助。

您应该在构建中添加一个步骤:发布Junit报告
您将有一个显示所有测试结果的图表,但如果测试失败,它也将设置正确的生成结果。

您应该在生成中添加一个步骤:发布Junit报告 您将拥有显示所有测试结果的图表,但如果测试失败,它也将设置正确的生成结果。

如所述: 添加生成后操作“发布性能测试结果报告”。此操作由名为“Performance plugin”的插件提供。您可能没有安装此插件,这就是列表中不存在此插件的原因。

如所述: 添加生成后操作“发布性能测试结果报告”。此操作由名为“Performance plugin”的插件提供。您可能没有安装此插件,这就是列表中不存在此插件的原因。

根据:

故障保护:验证应用程序的集成测试是否通过

您需要将目标添加到maven failsafe插件执行中:

<goals>
   <goal>integration-test</goal>
   <goal>verify</goal>
</goals>
这将允许Jenkins解释测试结果并将构建标记为不稳定。

根据:

故障保护:验证应用程序的集成测试是否通过

您需要将目标添加到maven failsafe插件执行中:

<goals>
   <goal>integration-test</goal>
   <goal>verify</goal>
</goals>

这将允许Jenkins解释测试结果并将生成标记为不稳定。

在生成后操作下,“发布JUnit测试结果”报告更改要搜索的报告XML

假设使用标准的surefire和failsafe插件输出目录

更改为


在生成后操作下,发布JUnit测试结果报告更改要搜索的报告XML

假设使用标准的surefire和failsafe插件输出目录

更改为


当测试失败时,failsafe插件的目标集成测试不会将构建标记为错误


您必须在插件执行中添加在集成测试之后运行的目标验证。这将查找错误或失败,并将生成标记为错误。然后Jenkins会发现Maven没有成功。

当测试失败时,failsafe插件的目标集成测试不会将构建标记为错误


您必须在插件执行中添加在集成测试之后运行的目标验证。这将查找错误或失败,并将生成标记为错误。然后Jenkins会发现Maven没有成功。

您必须设置插件的配置,以便在测试失败时构建失败:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    ....
    <configuration>
        <testFailureIgnore>false</testFailureIgnore>
    </configuration>
    <executions>
        ....
    </executions>
</plugin>

您必须设置插件的配置,以便在测试失败时生成失败:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    ....
    <configuration>
        <testFailureIgnore>false</testFailureIgnore>
    </configuration>
    <executions>
        ....
    </executions>
</plugin>

选择发布Junit报告在我的Jenkins后期构建选择中不存在
选项发布Junit报告在我的Jenkins后期构建选项列表中不存在。