【问题标题】:Make {force:true} in click() function the default behavior使 click() 函数中的 {force:true} 成为默认行为
【发布时间】:2020-12-02 07:48:55
【问题描述】:

我正在使用 Cypress 测试 Web 应用程序。尝试使用 click() 函数单击链接/按钮时,我不断收到此可见性错误(此元素''不可见,因为它的父级...)。

Cypress 建议 “修复此问题,或使用 {force: true} 禁用错误检查” 确实有帮助。

现在,我一直在谷歌上搜索如何使 {force:true} 成为 click() 函数的默认行为,因此我不必编写它每次使用 click() 功能,但到目前为止找不到任何东西 - click({force:true})

这甚至可能吗? 有什么想法吗?

BR

【问题讨论】:

    标签: function click cypress


    【解决方案1】:

    您可以为单击编写一个名为 forceClick 的自定义命令。

    Cypress.Commands.add('forceClick', {prevSubject: 'element'}, (subject, options) => {
      cy.wrap(subject).click({force: true})
    });
    

    然后你可以使用:

    cy.forceClick()
    

    而不是

    cy.click()
    

    【讨论】:

      【解决方案2】:

      在这种情况下,你真的应该在 .click() 之前 scrollIntoView()。我遇到了一个令人讨厌的 UI 错误,其中一个按钮的请求仅在 Cypress 中进行了 2 次,因为我们强行点击了一个不在视图中的按钮。

      我建议:

      cy.get('button').scrollIntoView().click();
      

      【讨论】:

        猜你喜欢
        • 2015-03-11
        • 1970-01-01
        • 2021-08-27
        • 2015-01-15
        • 1970-01-01
        相关资源
        最近更新 更多