testng-results.xml不显示@factory测试的<params>标记

时间:2018-08-13 13:51:51

标签: selenium testng

背景

我正在通过testng-failed.xml运行失败的测试。重新运行完成后,我将两者合并(testng-results.xml)以生成合并的合并xml(以这样的方式编写合并逻辑,即它将忽略第一次运行失败但在重新运行中通过的测试)。合并逻辑检查<test-method>的{​​{1}}属性和'name'以唯一地标识测试用例。

对于正常测试以及数据提供者测试(由于数据提供者测试均显示此<params>标签信息),它都可以正常工作,但是对于使用<params>设计的测试,testng- results.xml显示所有具有相同@factory属性的<test-method>标签(这是预期的),但是它们('name')没有<testng-method>属性。没有<params>属性使得无法<params>进行唯一标识,这破坏了我的合并xml逻辑

此外,由于这个原因,当我执行testng-failed.xml(重新运行部分)时,它总是使用第一个工厂testdata而不是测试失败的实际工厂testdata运行测试。 (这可能是由于在testng-failed.xml中没有用于测试失败的<test-method>属性而导致的)。需要AFAIK 'invocation-numbers'才能运行正确的测试数据。我可以看到testng-failed.xml中存在'invocation-numbers'属性,该属性用于具有简单@ data-provider的测试,但不适用于具有@factory

的测试

有人遇到这个问题吗?

更新

可能与此有关 https://github.com/cbeust/testng/issues/1041

0 个答案:

没有答案