【问题标题】:Test dependency for Selenium testsSelenium 测试的测试依赖项
【发布时间】:2019-04-24 13:02:10
【问题描述】:

我需要按特定顺序执行测试(登录、转到菜单、打开表单、执行多个测试)。早在 2014 年,我们就使用了 TestNg method dependency。这是端到端测试非常重要的特性。 JUnit 5 只有 @FixMethodOrder 功能较弱。我更喜欢 JUnit,另一方面,我在 TestNg 中缺少一些 JUnit 功能,例如 @Rule。我在 JUnit 中有一些方法依赖的解决方法,还是应该再次使用 TestNg?

【问题讨论】:

  • 我认为您应该更改测试的测试设计。制定步骤(登录、进入菜单等)并在测试中使用它们。测试不应依赖于执行顺序。 JUnit5 非常好的测试框架,发展迅速,社区很大。
  • 单元测试是这样,有时集成测试也是如此。使用 Selenium 或其他框架的端到端测试是具有所需特定步骤顺序的场景测试。示例:编辑用户资料,清除拳头和姓氏,尝试提交,检查错误,输入姓氏,检查缺少名字仍然有错误,输入名字,提交,检查没有错误,...包含基本步骤(登录,......)并将所有先前的步骤添加到每个测试中非常乏味。但是与单元测试相比,e2e 浏览器测试非常慢,因此测试依赖的主要原因是测试速度。
  • 是的,我同意,测试执行的特定顺序可以减少完成测试套件所需的时间。我还寻找一种按特定顺序执行测试的方法,但要优化测试套件的整体运行时间。你可以在这里看到我的问题:stackoverflow.com/q/55632208/1477873

标签: selenium-webdriver testng junit5


【解决方案1】:

正如您已经说过的,您可以使用 @FixMethodOrder 注释或从另一个测试调用一个测试(这确实不应该是一种选择)。

无论如何,我会坚持使用 TestNG,因为据我所知,它的想法是让 JUnit 测试更容易并改进一些功能(NG 代表新一代)。

【讨论】:

    猜你喜欢
    • 2016-02-06
    • 2014-10-20
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    相关资源
    最近更新 更多