当重试节点测试时,范围报告测试被标记为失败

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

我有一个测试自动化项目,使用:Java、Maven、TestNG、Selenium WebDriver 和 Extent Reports(最新 5.0.9)。

我的大多数测试都使用 DataProvider,并且我还实现了 RetryAnalyzer - 如果失败,测试/测试用例会重试一次。

我的Extent Reports“设计”看起来像这样:用@Test注释的方法由

ExtentTest extentTest = extentReports.createTest([...]
表示。该方法的数据提供者的每个案例都由一个节点表示:
extentNode = extentTest.createNode([...]

该结构的结果是这样的:

样本测试有一个数据提供者,有3个案例。每个案例都由右侧列出的一个节点表示。可以展开节点来查看步骤、日志等..

我遇到的问题是这样的场景:其中一个数据提供程序案例失败并重试。该案例的重试运行通过了。

案例首次运行失败后,

extentTest
状态会自动设置为Fail,因为我在测试方法中对异常执行
extentNode.fail([...]
。在 @AfterMethod 方法中,我从报告中删除了最初失败的节点:
extentReports.removeTest(extentNode)
但这不会改变
extentTest
的状态 - 它的状态仍然返回 Fail

该问题的结果是这样的:

示例测试被列为失败,但每个节点都通过了。

我尝试了

extentTest.pass("description")
- 它只是向测试添加了通过的步骤,但不会更改整体测试状态。

selenium-webdriver testng extentreports selenium-extent-report
1个回答
-1
投票

我还尝试在重新运行失败的场景后解决报告中重复条目的相同问题。如果您找到了解决方案,请告诉我们吗?

谢谢你。

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