selenium - 构建 e2e 测试的最佳实践有哪些?

标签 selenium nightwatch.js e2e-testing

我对构建端到端测试的最佳方法有点困惑。

我编写的大多数测试都依赖于其他测试。

  • 用户需要登录
  • 用户需要创建 Foo
  • 用户现在可以创建栏
  • Bar 需要存在,以便可以明显地对其进行编辑。

您将如何构建测试来考虑到这一点?

最佳答案

我个人会使用 PageObject 模式,这将提高可靠性并使代码在这些情况下更易于维护。 一旦完成,您就可以在 PageObject 类中创建作用于这些页面的不同方法。 例如。

LoginPage 将是一个使用 PageObject 模式的类,并且包含诸如 LogIn() 之类的方法,该方法将返回 HomePage 的类型,其中将是另一个使用 PageObject 模式的类。

我还没有使用 Selenium 对应用程序执行 E2E 测试,因为我认为该工具不是为此而设计的。

您真正想要的是一个执行 BDD 的工具 ( Behaviour Driven Development )。

我在你的帖子中构建你的场景的方式是我会对每个场景进行单独的测试。我需要进行一个测试,以确保我可以成功登录和失败登录。然后我将进行另一个测试,该测试将创建一个用户“Foo”,然后将有一个“静态”用户准备进行编辑。

关于selenium - 构建 e2e 测试的最佳实践有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28050165/

相关文章:

java - 为 SauceLabs 执行设置 DesiredCapability 时出错

javascript - 如何在 Selenium 中使用 Javascript 获取 html 选择中的选项列表?

node.js - Nightwatch JS - 如何通过 Firefox headless 运行测试

javascript - 在 Javascript 中创建循环以与 imap-simple nodejs 包一起使用

dom - 从 DOM 中选择元素

java - 作为 Java 应用程序运行会弹出选择 Java 应用程序屏幕,无需进一步说明

java - 仅使用属性值的第一部分通过 xpath 查找元素

javascript - 如何用 Nightwatch 履行 promise

testing - TestCafe:无法完成对 url 的请求

javascript - 从 testcafe 中打开的第 N 个模态中选择确定按钮