FitNesse:如何从Jenkins发送测试执行报告到JSON格式的端点?

问题描述 投票:0回答:2

我有一个任务是将FitNesse测试的周期性执行报告以某种特定的JSON格式发送到某个特定的端点。

我在Jenkins属性中设置了定期执行测试,并将其保存在XML中,但现在我需要解析结果信息。

这不可能只是在Jenkins的 "after build "属性中的一个步骤(或者可以,但我不知道有什么插件),但它会是什么,我如何做到这一点?

特别是,我不需要测试的信息,只需要一般的时刻,如测试日期,通过率,状态,项目名称等。

json jenkins fitnesse
2个回答
0
投票

我认为解决这个问题的最好方法是制作一个脚本,解析XML文件,并创建所需的JSON文件。我们通常使用python脚本来解决这个问题。

如果你在脚本中需要某些构建的通用信息,比如构建号,你可以使用Jenkins环境将其传递给你的脚本。

要调用脚本,只需添加一个批处理或shell步骤,并将其放置在你的fitnesse构建步骤下面,以确保在调用脚本之前生成XML。


0
投票

FitNesse自带一个jUnit runner,它允许你执行一个testuite。如果你创建了一个注解为 @RunWith(FitNesseRunner.class) 并在Jenkins的Maven作业中包含它的执行(其中jUnit类由surefire或failsafe插件执行),执行的测试结果将被Jenkins自动接收,就像它接收其他常规的jUnit测试一样(因为surefire或failsafe会将它们包含在XML报告中,Jenkins会接收这些)。

你可以在下面找到一个使用这种方法的Maven FitNesse项目示例(略微定制的版本)。https:/github.comfhoebensample-fitnesse-project。. 如何在Jenkins上运行测试,请看以下介绍 https:/github.comfhoebenhsac-fitnesse-fixtures#to-run-the-test-on-build-server。:

让构建服务器检查项目并执行 mvn clean test-compile failsafe:integration-test. 在JUnit XML结果中可以找到。target/failsafe-reports (Jenkins会自动为Maven作业提取这些结果)

您表示您不需要HTML结果,但它们将被提供。它们可以在以下地方找到。target/fitnesse-results/index.html你可以选择使用 "HTML Publisher "Jenkins插件从每次构建中链接到它们。

© www.soinside.com 2019 - 2024. All rights reserved.