为了账号安全,请及时绑定邮箱和手机立即绑定

Maven Cucumber 报告多个 JSON 文件

Maven Cucumber 报告多个 JSON 文件

慕桂英4014372 2022-08-03 15:07:34
我的POM目前看起来像,<groupId>net.masterthought</groupId>            <artifactId>maven-cucumber-reporting</artifactId>            <version>2.8.0</version>            <executions>                <execution>                    <id>execution</id>                    <phase>verify</phase>                    <goals>                        <goal>generate</goal>                    </goals>                    <configuration>                        <projectName>ExecuteAutomation</projectName>                        <outputDirectory>${project.build.directory}/cucumber-report-html</outputDirectory>                        <cucumberOutput>${project.build.directory}/cucumber.json</cucumberOutput>                    </configuration>                </execution>            </executions>        </plugin>这将生成一个报告,但仅使用最后一个功能。我有多个跑步者,所以我试图弄清楚:一个。如何将多个 JSON 合并到一个报表中,或者B.如何在每次测试完成时追加到一个 JSON 文件?这些中的任何一个似乎都是一个可行的解决方案,尽管我更喜欢A,因为看起来我在我的pom中只缺少一行.xml这样做,因为我目前已经在生成多个JSON文件
查看完整描述

2 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

如果您可以运行bash命令,并且可能在计算机上有可用的jq,则可以尝试在具有不同名称的文件中生成报告,然后使用jq将它们合并回一个文件中。


我做了类似的事情,尽管我不并行运行,我不依赖任何插件,但我使用surefire插件运行


免责声明:我还没有用--format测试报告名称覆盖,因此该部分可能与您不同,但想法是相同的


mvn test -Dcucumber.options="--format=json:target/cucumber_test1.json"

mvn test -Dcucumber.options="--format=json:target/cucumber_test2.json"

...


jq -s '[.[][]]' target/cucumber_*.json > target/cucumber.json


查看完整回答
反对 回复 2022-08-03
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

问题是正在使用的版本(即2.8)不支持多个JSON文件。


解决方案是:


 <plugin>

            <groupId>net.masterthought</groupId>

            <artifactId>maven-cucumber-reporting</artifactId>

            <version>4.5.0</version>

            <executions>

                <execution>

                    <id>execution</id>

                    <phase>verify</phase>

                    <goals>

                        <goal>generate</goal>

                    </goals>

                    <configuration>

                        <projectName>ExecuteAutomation</projectName>

                        <inputDirectory>${project.build.directory}/jsonReports</inputDirectory>

                        <outputDirectory>${project.build.directory}/cucumber-report-html</outputDirectory>

                        <jsonFiles>

                            <!-- supports wildcard or name pattern -->

                            <param>**/*.json</param>

                        </jsonFiles>

                    </configuration>

                </execution>

            </executions>

        </plugin>

在 https://github.com/damianszczepanik/maven-cucumber-reporting 阅读更多内容


查看完整回答
反对 回复 2022-08-03
  • 2 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信