默认情况下,无法使用cypress触发对select元素的点击,并且您会收到一条警告,提示您改为使用.select()
:
cy.get('.myselect').click({ force: true });
CypressError:不能在元素上调用cy.click()。改用cy.select()命令更改该值。
在我的情况下,单击选择会触发api调用,以使用值列表填充选择,然后可以从中进行选择。因此,在选项实际存在之前,我无法选择任何内容。有什么办法可以解决这个问题?
答案 0 :(得分:1)
由于Cypress无法打开选择下拉列表(它是本机窗口小部件),因此Cypress错误。
但是,您仍然可以使用cy.get(...).trigger('click')
发送事件(docs)。
注意:出于可访问性的原因,您应该监听
focus
事件,因为用户也可以进入select
。在这种情况下,您可以使用cy.get(...).focus()