【问题标题】:How to trigger a click on a select with Cypress?如何使用赛普拉斯触发点击选择?
【发布时间】:2019-09-26 17:43:31
【问题描述】:

默认情况下,无法使用 cypress 触发对选择元素的点击,您将收到使用 .select() 的警告:

cy.get('.myselect').click({ force: true });

CypressError:无法在元素上调用 cy.click()。改用 cy.select() 命令来更改值。

在我的例子中,点击一个选择会触发一个 api 调用,用一个值列表填充选择,然后您可以从中选择。因此,在选项实际存在之前,我无法选择任何内容。有没有办法解决这种行为?

【问题讨论】:

    标签: cypress


    【解决方案1】:

    由于赛普拉斯无法打开选择下拉菜单(它是本机小部件),因此赛普拉斯出错。

    但是,您仍然可以使用 cy.get(...).trigger('click') 发送事件 (docs)。

    注意:出于可访问性的原因,您应该收听focus 事件,因为用户也可以使用标签进入select。在这种情况下,您可以使用cy.get(...).focus()

    【讨论】:

    • 成功了,谢谢!是的,您对焦点的看法是正确的。
    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多