Automation TestCafe:用户角色在第一次测试中注销用户

Automation TestCafe:用户角色在第一次测试中注销用户,automation,automated-tests,e2e-testing,testcafe,browser-automation,Automation,Automated Tests,E2e Testing,Testcafe,Browser Automation,我试图在现有测试中实现用户角色,因为我不想在每个测试中都登录。以下是我的测试结果: const accountUser = Role('https://localhost:9000', async (t) => { await t.wait(1000); await loginPage.login(inputData.emailId, inputData.password); }, { preserveUrl: true }); fixture`login-test` .me

我试图在现有测试中实现用户角色,因为我不想在每个测试中都登录。以下是我的测试结果:

const accountUser = Role('https://localhost:9000', async (t) => {
  await t.wait(1000);
  await loginPage.login(inputData.emailId, inputData.password);
}, { preserveUrl: true });

fixture`login-test`
  .meta('testingType', 'regression')
  .requestHooks(mock)

test('Add a person', async (t) => {
  await t.useRole(accountUser);
  await loginPage.goToPeopleList(inputData.testAccountFirst);

test('Unable to add a person', async (t) => {
  await t.useRole(accountUser);
  await loginPage.goToPeopleList(inputData.testAccountFirst);
错误:

✖ Add a person

   1) The specified selector does not match any element in the DOM tree.

       > | Selector('td')
         |   .withText('automation test')

      Browser: Chrome 79.0.3945 / Mac OS X 10.14.6

         258 |  }
         259 |
         260 |  async goToPeopleList(account) {
         261 |    // people list
         262 |    await t
       > 263 |      .click(accountManager.selectTestAccount(account))
这里发生的是:

  • 测试1:用户登录,然后在
    wait loginPage.gotopolelist(inputData.testAccountFirst)失败因为用户已注销
  • 测试2:用户甚至没有登录,并且期望已经登录的页面,因此在步骤
    wait loginPage.gotopeplist(inputData.testAccountFirst)失败
查看了故障排除,并尝试过,但仍然会将登录用户踢出


我不知道为什么用户在这一步之后就注销了
wait t t.useRole(accountUser)。当我手动查看身份验证令牌时,它在登录后存储在cookie中。至少我希望第一次测试能够通过,因为它已经登录到用户中。

您能否提供一个公共示例,用于重现和调试问题或访问您的网站?请注意,我们的政策禁止我们在未经网站所有者事先书面批准的情况下访问内部资源。如果我们需要访问您网站的非公共部分或通过授权页面,请要求网站所有者向我们发送(邮箱:support@devexpress.com))书面确认书。它必须允许DevXPress人员远程访问网站及其内部资源,以便进行研究/测试/调试。@AndreyBelym感谢您的回答。今天我发现这个问题只发生在我的本地设置中(
https://localhost:9000
),但不在开发环境中,该环境具有URL
https://xx.com
。您能否告诉我如何在本地环境中调试,以了解为什么它无法存储凭据?即使我向您发送开发环境的权限,您也无法调试,因为这不是开发环境中的问题。本地设置无法用于许可证您可以修改
主机
文件以将域分配给127.0.0.1。当您的生产域名分配给本地开发服务器时,我们可以尝试检查问题是否仍然存在。您能否提供一个公共示例,用于重现和调试问题,或提供对您网站的访问权限?请注意,我们的策略阻止我们在未事先书面通知的情况下访问内部资源网站所有者的批准。如果我们需要访问您网站的非公共部分或通过授权页面,请要求网站所有者向我们发送(邮箱:support@devexpress.com))书面确认书。它必须允许DevXPress人员远程访问网站及其内部资源,以便进行研究/测试/调试。@AndreyBelym感谢您的回答。今天我发现这个问题只发生在我的本地设置中(
https://localhost:9000
),但不在开发环境中,该环境具有URL
https://xx.com
。您能否告诉我如何在本地环境中调试,以了解为什么它无法存储凭据?即使我向您发送开发环境的权限,您也无法调试,因为这不是开发环境中的问题。本地设置无法用于许可证您可以修改
主机
文件以将域分配给127.0.0.1。我们可以尝试在将生产域名分配给本地开发服务器时检查问题是否仍然存在。