为什么我的模态在 Cypress 测试中消失?

Ben*_*ins 5 javascript reactjs cypress

我有一个带有几种不同可能视图(登录、注册、密码重置等)的模式。我正在通过 redux 中的一段状态来导航模式的不同视图。

这些链接在我的赛普拉斯测试之外工作正常,但在我的测试中,其中一些可以工作,其中一些使模式完全消失。

例如,当我告诉赛普拉斯单击“注册”链接时,它会正确切换,但当我告诉它单击“忘记密码”时,模式就会消失。我已经记录了 redux 状态值,它处于正确的状态值以显示模式,并且状态没有更新为隐藏状态。如果我手动单击测试运行程序中的忘记密码链接,它会正确导航到忘记密码表单。

在此输入图像描述

它们都包含在标签中,如下所示:

        <a
          onClick={() =>
            dispatch(setAuthModalView(AuthModalViewTypes.FORGOT_PASSWORD))
          }
          className="text-sm"
          data-testid="forgotPassword">
          Forgot Password?
        </a>
Run Code Online (Sandbox Code Playgroud)

这是我的柏树测试:

重设密码:

    cy.visit('/')
    cy.contains('Sign In').click()
    cy.contains('Forgot Password').click()
    cy.findByTestId('auth-modal')
 
Run Code Online (Sandbox Code Playgroud)

报名

  cy.visit('/')
  cy.contains('Sign In').click()
  cy.contains('Sign Up').click()
  cy.findByTestId('auth-modal')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

只是重申一下,当我手动单击链接时,模式会正确导航到页面,并且 redux 具有显示模式的正确状态,但它只是消失了。

我尝试将 cy.wait 命令放在命令之间,以确保这不是计时问题,但这没有帮助。

任何帮助表示赞赏