如何使用赛普拉斯清除多选输入?

时间:2019-05-28 11:15:33

标签: cypress

如何使用赛普拉斯清除(取消选择)多选输入中的所有选项?

此处的文档似乎并未涵盖这种情况:https://docs.cypress.io/api/commands/select.html#Syntax

显然,clear()命令无法应用于选择项 https://docs.cypress.io/api/commands/clear.html#Syntax

我尝试将空字符串/数组/ null传递给select(),但出现以下错误:

CypressError: Timed out retrying: cy.select() failed because it could not find a single <option> with value or text matching: ''

1 个答案:

答案 0 :(得分:0)

您可以使用cy.invoke()在基础JQuery元素上调用.val('')方法,这将导致该元素被清除。

赞:

cy.get('select')
.invoke('val', '')

请注意,这不会发出change事件。如果要测试代码对change事件有反应,可以使其与cy.trigger()一起发出:

cy.get('select')
.invoke('val', '')
.trigger('change')

我也filed a feature request for this functionality,因为看起来好像默认情况下赛普拉斯应该包含这些东西。