我正在编写一个使用 Cypress 测试的 React 应用程序。在我的集成测试中,我编写了一个带有字符串数组的 cypress 命令,以便在多值选择框中选择项目。
我使用的代码大致如下:
Cypress.Commands.add("command", (options) => {
options.forEach((option) => {
cy.get("div[data-g-portal-id='1']") // this is the container for the select box dropdown
.find("div[role='menubar']")
.contains(option)
.click({ force: true });
});
}
我已经尝试过各种迭代,包括cy.wrap
和.each
. 无论我做什么,当数组包含多个项目时,它会单击一个项目,该项目被标记为已成功选择,然后它单击另一个项目,将其标记为已选,但第一个项目失去其选择状态。就好像组件的内部状态从未真正得到初始更改。
我已经确认这不是我的应用程序中的错误;手动测试时,多选工作正常。但赛普拉斯只是不想知道。任何帮助将非常感激。