如何通过赛普拉斯触发选择单击?

时间:2019-09-26 17:43:31

标签: cypress

默认情况下,无法使用cypress触发对select元素的点击,并且您会收到一条警告,提示您改为使用.select()

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

CypressError:不能在元素上调用cy.click()。改用cy.select()命令更改该值。

在我的情况下,单击选择会触发api调用,以使用值列表填充选择,然后可以从中进行选择。因此,在选项实际存在之前,我无法选择任何内容。有什么办法可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

由于Cypress无法打开选择下拉列表(它是本机窗口小部件),因此Cypress错误。

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

  

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