我们应该在创建框架时在Test中使用依赖项吗?

时间:2017-09-18 05:18:04

标签: selenium testng

我正在创建POM框架。我的testng.xml有时会乱序运行。 Testng版本是6.11。我研究了很多,但没有找到任何相关的原因。 尝试了许多解决方案,例如preserve-order = true,默认情况下为true,清理项目并生成新的testng.xml文件。但没有成功。

我读取设置优先级或依赖性可以是一个解决方案。我对使用依赖项感到困惑。在不同类的@Test方法之间使用依赖关系是否是个好主意?测试用例应该相互依赖吗?大型项目是否可行?

我发现各处都有混合读数,有些应该是依赖的,而某些测试用例应该是独立的。

请建议。谢谢 !!

1 个答案:

答案 0 :(得分:0)

TestNG提供了依赖关系,因此您可以像手动操作一样表达自动化测试。

TestNG允许您以两种方式管理执行顺序。

  • 通过等于软依赖的优先级。软依赖性基本上是那种依赖关系,其中存在需要维护的执行顺序,但顺序不依赖于节点的执行状态。
  • 通过依赖关系,它们等于硬依赖关系。硬依赖性基本上是那种依赖关系,其中存在需要维护的执行顺序,并且顺序取决于节点的执行状态。
  

我的testng.xml有时会乱序运行。 Testng版本是6.11。我研究了很多,但没有找到任何相关的原因。尝试了许多解决方案,例如preserve-order = true,默认情况下为true,清理项目并生成新的testng.xml文件。但没有成功。

这可能是一个错误。所以我强烈建议你在TestNG Github issue page上提出一个问题,并提供一个可以执行的相关样本来重现问题。

  

在不同类的@Test方法之间使用依赖关系是否是个好主意?

TestNG允许您使用@Test定义位于同一测试类中的dependsOnMethods方法之间的依赖关系。您还可以使用dependsOnGroups来定义驻留在不同测试类中的@Test方法之间的依赖关系。使用依赖项没有任何好处或坏处。它最终会归结为您正在解决的用例。通常预期单元测试不具有依赖性,但功能测试不需要遵循相同的规则。

简而言之,这是一个非常通用的问题,很难提供一个适合该法案的答案。你将得到的答案都将基于人们以前的经历而自以为是。