端到端测试每次都应该 运行 登录设置吗?

end to end test should run login setup every time?

我正在使用 testcafe 测试一个平台以进行端到端测试。我有一个测试登录的案例,但我有其他需要登录的案例。

我不确定我应该 运行 登录每个测试用例设置的最佳选择是什么,还是应该 运行 首先登录脚本然后 运行 所有测试?我都试过了,它们似乎是不错的选择。

每次测试都必须登录 time-consuming 并且效率低下。如果;

,我会建议对测试进行一次登录
  • 登录用户与 运行 测试之间没有依赖关系。
  • 只需一次登录即可获得您想要的实际结果

此外,我会使用2-3个用户进行测试,以覆盖多个用户登录系统。

这取决于你测试的是什么:

  1. 如果您正在测试身份验证,那么他们应该每次都登录。
  2. 如果你正在测试其他东西,那么我会把它放在 Arrange Act Assert 模式之后的代码的 Arrange 部分,因为它与其他测试无关,并且作为测试设置(Arrange)的一部分应导航回主页。 理想情况下,您将身份验证与其他测试隔离开来以提高性能,但是如果您的会话有一些状态是从上次测试中转移过来的,您应该清理它,这样其他测试就不会受到它的影响。
    1. A comment in the Git issue suggests that you can use preserveUrl 以保持会话。

TestCafe 具有强大的 Roles 机制来测试 login/logout 功能。 您可以为每个要测试的用户帐户创建角色,并在测试中在它们之间切换。要切换到未注册用户,您可以使用Role.anonymous()

使用 Roles 的主要好处是,在第一次使用 Role 期间,日志记录步骤只执行一次,下次 TestCafe 只需重新加载页面并恢复所需的凭据。