【问题标题】:Can i check whether access_token is issued or not in e2e Testing? (Protractor)我可以检查是否在 e2e 测试中发布了 access_token 吗? (量角器)
【发布时间】:2020-04-16 14:21:09
【问题描述】:

我是使用量角器进行 e2e 测试的新手。我想问一下,直接点击URL时,我们可以检查是否发出了access_token? protractor 中是否有任何内置函数可以帮助我们操作 access_token。我尝试过使用executeScript,但没有成功。

我正在做的是测试组件中的某些功能,然后在移动到下一个组件之前,我想检查用户是否有 access_token。如果用户有 access_token,他应该被允许进入下一个组件,否则他应该被引导到登录页面进行登录

【问题讨论】:

    标签: angular authentication protractor access-token e2e-testing


    【解决方案1】:

    如果您的用户通过了身份验证,您将拥有访问令牌。有两种方法可以做到这一点:

    1) 可以通过基本认证手动登录。

    2) 您可以使用 username:password@url 格式通过 url 发送您的身份验证令牌。

    3) 您可以在 cookie 中添加一个令牌,然后使用browser.manage.addCookie() 函数将其添加到浏览器。这是我最喜欢的一个。您可以使用它在浏览器中添加 cookie。这可以是基本身份验证令牌、会话身份验证令牌等。除非您关闭浏览器,否则用户将保持身份验证。

    如果要清除本地存储和缓存,可以在每次测试运行后运行以下命令。

    afterEach(async (done) => {
            await browser.executeScript('window.localStorage.clear();');
            done();
    });
    

    要了解有关量角器中 cookie 的更多信息,请阅读this

    希望这会有所帮助:)

    【讨论】:

    • 非常感谢。第三个是完美的解决方案。再次感谢。
    • 是否有任何方式可以有会话而不是 cookie。没有使用 cookie 时如何检查登录
    • 您将在浏览器的某处保存会话信息。像本地存储或缓存一样。您应该能够在量角器中找到提取该值或检查该值是否存在的命令。问题是,你是如何创建会话登录的。
    • 其基于令牌的身份验证。
    • 我想现在我需要 localStorage 访问权限?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 2018-02-19
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多