【问题标题】:Cypress closing menu when clicking on submenu单击子菜单时赛普拉斯关闭菜单
【发布时间】:2019-12-27 15:54:05
【问题描述】:

我一直在尝试检查子菜单。当我单击主菜单时,它可以正常工作。但是,当我单击二级菜单时,它只会关闭主菜单并且测试失败。

cy.get('div.dropdown', {timeout:10000}).contains('Admin').click()

cy.get('div.subdropdown', {timeout:10000}).contains('Catalog Admin').should('be.visible')

cy.get('div.subdropdown').contains('Catalog Admin').click({ force: true })

直到点击成功。第一次运行失败后,我尝试了 force true 。我什至尝试了以下方法:

cy.get('div.subdropdown').contains('Catalog Admin').invoke('click')

我无法使用 .focus() 并且不知所措。每次我尝试新的东西。主下拉菜单关闭而不是打开二级菜单。悬停可以工作,但尚未实施。 .invoke('mouseover') 也没有。我不知所措。当单击主菜单中的其他选项导航到其他区域时,我在其他测试中遇到了同样的问题。我最终只是调整了我的 .visit 以直接转到我需要访问的页面。我们正在使用 Typescript 中编码的 Angular 8 组件。

【问题讨论】:

  • 我认为你可以在点击之前做鼠标悬停 cy.get('div.subdropdown').contains('Catalog Admin').trigger('mouseover', 'center').Click( )
  • 谢谢你,不幸的是,这两个关闭了菜单而不是打开子菜单。我不确定在与这些 Angular 下拉菜单或其他东西交互时这是否是一个问题。所有这些方法都适用于我们代码中的选择器,而不是下拉菜单。
  • 可能相关 - 我正在尝试以小屏幕尺寸测试 mat-menu,我注意到赛普拉斯在测试之间关闭了菜单,但是当我尝试每次测试“重新打开”菜单时,似乎也关闭它们,或打开/关闭它们。似乎两者之间的关系很暴躁,但我不知道失败在哪里。

标签: angular angular-material automated-tests cypress


【解决方案1】:

感谢赛普拉斯的支持,我们能够弄清楚如何做到这一点。由于它是一个 Material 嵌套菜单,这就是他们让我做的事情并且它有效。

cy.get('div.subdropdown').contains('Catalog Admin').trigger('mouseenter')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    相关资源
    最近更新 更多