7

我正在尝试使用量角器测试 Angular 单页应用程序。我需要先运行登录脚本。localStorage只有这样我才能移动到其他路线,因为在路线更改时会检查令牌。

这种测试方法是否正确?在这种情况下,我需要先运行登录脚本。量角器是否允许控制规范文件顺序。

或者我应该通过硬编码令牌来独立运行每个脚本localStorage(我应该在每次测试之前独立进行登录 api 调用)。

我的登录脚本包含以下内容

it('Login with wrong email', function() {

})

it('Login with correct email', function() {

})

因此,在运行之后,Login with correct mail我将获得 accessToken,它将存储在 localStorage 中,我可以继续测试其他路由。这是正确的方法吗。如果不是,我如何通过端到端登录测试单个应用程序。

在量角器样式指南中,它被称为

使您的测试彼此独立

所以我应该beforeAll, beforeEach在每次测试之前使用获取访问令牌并存储在 localStorage 中。在这种情况下,请解释我该怎么做。

任何帮助是极大的赞赏。

谢谢。

4

1 回答 1

11

正如 Protractor FAQsonPrepare中强调的那样,您可以在conf 文件的部分中指定您的登录代码。这是一个例子

您也可以在其中实现这一点,beforeAll但这会给您的测试脚本增加不必要的开销。更改 localStorage 是可能的,但不符合 e2e 测试的精神,因为 LS 可能会出错,您最终会想知道是您的应用程序还是您的 LS 修改代码导致了这种情况。

于 2016-04-20T03:58:53.650 回答