如何使用 Cypress 触发选择点击?

Kat*_*rne 6 cypress

默认情况下,不可能使用 cypress 触发对选择元素的点击,您将收到一条警告,需要.select()改为使用:

cy.get('.myselect').click({ force: true });
Run Code Online (Sandbox Code Playgroud)

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

就我而言,单击选择会触发 api 调用,以使用值列表填充选择,然后您可以从中进行选择。因此,在选项实际存在之前我无法选择任何内容。有什么办法可以解决这种行为吗?

bku*_*era 8

由于赛普拉斯无法打开选择下拉列表(其本机小部件),因此赛普拉斯会出错。

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

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