2017-04-12 67 views
1

我有一个使用TestNG构建的自动化测试套件,并希望添加自动重试以消除一些片状(我知道隐藏错误可能导致问题在路上,这大多只是一个证明在这一点上的概念),但我有问题没有得到重新运行显示在最终的倾城报告。过滤自动重新运行测试报告

基本上我遵循this question/answer中的步骤,它的工作原理,但最后一部分,关于添加第二个侦听器来筛选结果,要么不以我实现它的方式工作,要么在给定的测试失败时不工作重试。

我在回答中详细描述的3类以上链接:

public class Retry implements IRetryAnalyzer {} 
public class RetryListener implements IAnnotationTransformer {} 
public class TestListener implements ITestListener {} 

和所有的听众我在testng-run.xml这个样子的:

<listeners> 
     <listener class-name="com.org.qa.automation.transformers.FrameworkTransformer"></listener> 
     <listener class-name="com.org.qa.automation.suite.utils.RetryListener"></listener> 
     <listener class-name="com.org.qa.automation.suite.utils.TestListener"></listener> 
</listeners> 

我设置的最大重试计数器为2.

当我运行完整套件时会发生什么情况:如果测试失败,它会重试多达两次(它最多运行3次),如果每次失败都会失败ILS。

我遇到的问题是,在这种情况下,最终报告将显示相同的测试运行3次,并且运行的总测试用例会将这些重试考虑在内,从而导致覆盖%。

我该如何绕过筛选结果,以便每次给出测试失败时,它只会在出现的倾斜报告中出现一次? 注意:我也需要跳过并损坏的测试才能显示在报告中。

+1

我刚刚添加了对测试reties的支持,我们将在几天内发布Allure 2 beta 7,然后我将添加更多详细信息的答案 –

回答

1

Allure自BETA8起处理测试重试。只需从结果中生成报告,所有重试的测试都将隐藏在报告统计数据中,并在测试案例页面的reties部分中显示。

+0

太棒了!快速的问题......也许是一个小菜一碟。它是否可以作为Maven的依赖项添加到我们的POM中?我在maven回购中找不到它。 – Laucien

+0

如果您的意思是maven插件来生成报告 - 它尚不可用。 –