SoapUI、Maven、Surefire 和 Jenkins 集成

SoapUI, Maven, Surefire and Jenkins Integration

我正在尝试 运行 SoapUI xml 使用 maven、surefire 和 jenkins 的项目文件。 maven 和 jenkins 一切都很好,构建完成后,Jenit 报告显示在 jenkins 中(包含非常基本的信息 - 测试用例名称和状态)

我想使用 surefire 来显示报告和日志(我可以在 target/surfire-report/ all *.xml 和 *.txt 中看到日志文件)。 如何配置 jenkins 显示 surefire 报告和日志文件?

这是我的 pom.xml 文件

    <pluginRepositories>
    <pluginRepository>
        <id>smartbear-sweden-plugin-repository</id>
        <url>http://www.soapui.org/repository/maven2/</url>
    </pluginRepository>
</pluginRepositories>
<build>
    <plugins>
        <plugin>
            <groupId>com.smartbear.soapui</groupId>
            <artifactId>soapui-maven-plugin</artifactId>
            <version>5.3.0</version>
            <configuration>
                <projectFile>${basedir}/src/test/java/Test-API-soapui-project.xml</projectFile>
                <outputFolder>${basedir}/target/surefire-reports/</outputFolder>
                <junitReport>true</junitReport>
                <exportwAll>true</exportwAll>
                <printReport>true</printReport>
            </configuration>
            <executions>
                <execution>
                    <id>soapUI</id>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.smartbear.soapui</groupId>
                    <artifactId>soapui</artifactId>
                    <version>5.3.0</version>
                    <exclusions>
                        <exclusion>
                            <groupId>javafx</groupId>
                            <artifactId>jfxrt</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.20</version>
        </plugin>
    </plugins>
</build>

不确定你是否解决了这个问题,但我就是这样做的。

在 Jenkins 中为您的项目构建 添加 Post-构建操作 发布 junit 测试报告结果。 将 测试报告 XMLs 设置为指向您看到正在编写报告的 target/surefire-reports 目录。 在下面的示例中,我在配置目录中存在的子模块 "dev" 中进行 运行 测试。 您会知道它何时正确,因为如果 Jenkins 找不到报告 xml,它将显示红色错误消息,而当它在您告诉他们的位置找到报告 xml 时,什么也不会显示。

希望对您有所帮助。