7

我有一些使用故障安全 maven 插件运行的集成测试(使用 Selenium)。Failsafe 仅生成 XML 报告文件。

1) 我想生成 HTML 报告

2) 我想在 Jenkins 中有一个指向 html 报告的链接

对于 1) 我安装了“maven-surefire-report-plugin”来使用 failsafe-report-only 目标。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-report-plugin</artifactId>
  <version>2.13</version>
  <executions>
    <execution>
      <phase>post-integration-test</phase>
      <goals>
        <goal>failsafe-report-only</goal>
      </goals>
    </execution>
  </executions>
</plugin>

但在标准输出中,似乎没有生成任何内容:

[INFO] 
[INFO] >>> maven-surefire-report-plugin:2.13:failsafe-report-only (default) @ BaseContrats >>>
[INFO] 
[INFO] <<< maven-surefire-report-plugin:2.13:failsafe-report-only (default) @ BaseContrats <<<
[INFO] 
[INFO] --- maven-surefire-report-plugin:2.13:failsafe-report-only (default) @ BaseContrats ---

在我的故障安全报告目录中,我只有 XML 报告文件,但没有 HTML 报告文件。

它是为故障安全生成 html 报告的好插件吗?

对于 2),我安装了 Jenkins 插件“Selenium HTML 报告”并添加了构建后操作“发布 Selenium HTML 报告”并为“Selenium 测试结果位置”参数配置了“target/failsafe-reports”值,但没有显示在 Jenkins 界面中(肯定是因为我的 html 报告文件没有生成...)。

你能帮我解决这2点吗?

4

1 回答 1

6

回答第 1 部分)为 Failsafe 生成 HTML 报告。

将以下内容添加到 pom.xml

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <skipSurefireReport>${skipSurefireReport}</skipSurefireReport>
                <reportsDirectories>
                    <reportsDirectory>${basedir}/target/failsafe-reports</reportsDirectory>
                </reportsDirectories>
            </configuration>
        </plugin>
    </plugins>
</reporting>
<properties>
   <skipSurefireReport>true</skipSurefireReport>
</properties>

我假设您正在使用 mvn verify 使用故障安全插件运行集成测试。默认情况下,这会在 {basedir}/target/failsafe-reports 中生成 ( *.txt& ) 报告。*.xml这应该在<reportDirectories>. 您可以指向任何包含 TEST-*.xml 报告的目录。

然后运行cmd

mvn site

这将为 Failsafe 运行集成测试生成 html 报告。默认情况下,文件位于 {basedir}/target/site/failsafe-report.html 中。这个位置要改。

于 2015-07-15T16:05:33.587 回答