FusionAuth oAuth 不适用于 TestCafe

FusionAuth oAuth not working with TestCafe

我无法通过 UI 使用测试框架 TestCafe 正确登录。我们公司使用 FusionAuth 进行身份验证,它位于与我要测试的应用程序不同的域中。目前我只是想通过 UI.

登录来开发概念证明

目前,我经常看到的cookie在通过我的浏览器正常登录时被设置,但在通过testcafe时却没有被设置。因此,当您 return 进入应用程序时,它不知道您已通过身份验证。

似乎不​​会将 cookies/本地存储从 IDP 登录页面传递回测试中的应用程序。

我试过使用角色的 preserveUrl 设置为 true。

const testUser = Role('{domainURL}/login', async t => {
    const username = 'username'; //Not real values
    const password = 'passwword';
    await t
        .typeText('#loginId', username)
        .typeText('#password', password)
        .click('.submit');
}, { preserveUrl: true });

test
    .disablePageCaching('Login to Test Users Account', async t => {

        await t.useRole(testUser);

    });

我也试过只使用选择器并在 UI 中手动输入凭据。到目前为止,两者都没有为我工作。

我很好奇:

  1. 我处理错了吗?
  2. 在处理登录时,使用 testcafe 进行黑盒端到端测试的最佳方法是什么?

我知道这可能不是最好的地方,但我不确定如何联系 testcafe 支持。

一般来说,TestCafe Roles 是处理日志记录的推荐方法。可能有一些 FusionAuth 细节不能与 TestCafe 一起正常工作。如果您希望我们的 TestCafe 团队研究这个问题,您可以使用以下 link 在我们的 github 存储库中创建一个问题:https://github.com/DevExpress/testcafe/issues/new?assignees=&labels=&template=bug-report.md

请注意,我们需要一个示例来说明该问题。如果您无法公开分享您的 project/login/password,您可以将其发送至 support@devexpress.com。

这已变成 github 可以找到 here 的问题单。现在要关闭这个问题。