TestCafe 是否需要在每个 test/beforeEach 中调用 useRole
Does TestCafe require useRole call in every test/beforeEach
我一直在为需要用户身份验证的应用评估 TestCafe。文档不是很清楚,我很难直接回答我们应该如何使用 useRole。
我们的应用程序需要用户身份验证,现在我们只测试单个用户,因此我们无需切换用户会话。
我定义了一个 Role
并且它验证正确。但我注意到以下几点:
- 我需要在 每个 测试中首先调用
useRole
才能使用经过身份验证的会话
- 每次调用
useRole
时(每次测试中的第一个),TestCafe 都会将浏览器导航回原始登录 URL(或任何 preserveUrl
保存的 post-登录)
这两种说法都错了吗?我无法想象这在真实环境中是如何工作的,这是一个疯狂的重定向。
项目 2 似乎是正确的,devexpress github 贡献者回复 "Currently, TestCafe can't use a Role without reloading or triggering page navigation" 因此,如果我必须在每个测试中调用 useRole
,这实际上会使 HTTP 导航负载加倍。
useRole
的目的是只对应用程序进行一次身份验证(每个用户):这意味着您将在第一个测试中看到登录页面,所有其他测试将直接在应用程序页面上开始用户已经通过身份验证。
问题是每个测试都在沙箱中运行。沙盒是针对每个测试而不是每个夹具。这意味着当测试开始执行时,它会在一个没有 cookie 和本地存储的全新沙箱中启动。
重新应用 cookie 和本地存储的唯一方法是调用 useRole
。这就是为什么必须在每次测试开始时调用 useRole
的原因。
useRole
可以节省大量时间。当我开始使用 TestCafe 时(一年多以前)useRole
不存在,每个测试都将通过输入登录页面开始。
useRole
当您需要在测试中在不同用户之间切换时更加有用。
然后完成,是的,useRole
重新加载应用程序页面,因为每个测试都在没有页面历史记录的沙箱中开始。
您正在寻找的是一项不存在的功能:不要在测试之间重新加载页面。如果您不想每次都重新加载页面,请在一个 test
方法中完成所有测试。
我一直在为需要用户身份验证的应用评估 TestCafe。文档不是很清楚,我很难直接回答我们应该如何使用 useRole。
我们的应用程序需要用户身份验证,现在我们只测试单个用户,因此我们无需切换用户会话。
我定义了一个 Role
并且它验证正确。但我注意到以下几点:
- 我需要在 每个 测试中首先调用
useRole
才能使用经过身份验证的会话 - 每次调用
useRole
时(每次测试中的第一个),TestCafe 都会将浏览器导航回原始登录 URL(或任何preserveUrl
保存的 post-登录)
这两种说法都错了吗?我无法想象这在真实环境中是如何工作的,这是一个疯狂的重定向。
项目 2 似乎是正确的,devexpress github 贡献者回复 "Currently, TestCafe can't use a Role without reloading or triggering page navigation" 因此,如果我必须在每个测试中调用 useRole
,这实际上会使 HTTP 导航负载加倍。
useRole
的目的是只对应用程序进行一次身份验证(每个用户):这意味着您将在第一个测试中看到登录页面,所有其他测试将直接在应用程序页面上开始用户已经通过身份验证。
问题是每个测试都在沙箱中运行。沙盒是针对每个测试而不是每个夹具。这意味着当测试开始执行时,它会在一个没有 cookie 和本地存储的全新沙箱中启动。
重新应用 cookie 和本地存储的唯一方法是调用 useRole
。这就是为什么必须在每次测试开始时调用 useRole
的原因。
useRole
可以节省大量时间。当我开始使用 TestCafe 时(一年多以前)useRole
不存在,每个测试都将通过输入登录页面开始。
useRole
当您需要在测试中在不同用户之间切换时更加有用。
然后完成,是的,useRole
重新加载应用程序页面,因为每个测试都在没有页面历史记录的沙箱中开始。
您正在寻找的是一项不存在的功能:不要在测试之间重新加载页面。如果您不想每次都重新加载页面,请在一个 test
方法中完成所有测试。