在机器人框架中重新测试时如何标记通过测试

How to mark pass the test when is retested in robotframework

现在,当我的团队在 QA 环境中进行部署时,我 运行 对机器人框架进行了一套测试。这个,有几个测试首先失败,因为环境没有“预热”。因此,在同一管道中,如果某些测试失败,我有“--re运行”选项。通常,在第二个 运行 中它们工作得很好。然后,我将输出与 rebot 合并:

rebot --merge output.xml output2.xml

甚至 log.html 也能正确显示信息(在测试和套件级别)。

现在是有趣的部分。即使在 output.xml 现在我有两个 运行 测试(全部失败,重试全部通过),当我将其上传到 XRay 时,它会创建一个带有结果的测试执行仅第一个 运行。

所以,我的问题是:为什么?在output.xml 中显然是最后运行 的结果。如果没有,我会理解这会创建一个测试执行,然后将所有结果放入其中(第一个和第二个 运行),但事实并非如此。

在我看来,XRay 没有正确导入数据。

首先,我从来没有这样使用过rebot。 但是,我认为您在 Xray 中获得的是您拥有的“合并”output.xml 以及 Xray 工作方式的结果。 每当您将测试自动化结果上传到 Xray 时,通常都会创建一个测试执行,其中包含测试 运行s(每个测试一个)。

测试问题将自动提供,除非它们已经存在;如果它们存在,则只会为这些测试创建测试 运行。 对于每个测试,测试执行不能包含多个测试 运行。换句话说,测试执行就像 运行 的任务(或包含测试列表的结果);此列表不能有重复项。

我建议单独上传所有报告。每当显示覆盖状态时,Xray 都会考虑最新的结果。