我尝试了很多方法,但并不总是有效。我的意思是..它确实找到了该元素并单击它...但并不总是为下拉输入字段添加值。我无法继续测试,因为下拉列表是我需要的必填字段。 下拉输入字段不能为空。
Cypress.Commands.add("selectTooltipDropdownOption", (optionText, inputSelector) => {
cy.getCyInput(inputSelector,{timeout:10000}).click();
cy.getCyRole("menu").children('li').contains(optionText).trigger("click", { timeout: 10000 });
cy.getCyInput(inputSelector)
.invoke("prop", "defaultValue")
.should("contain", optionText);
});
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使遗嘱cy.getCyInput("dropdowninputField")始终具有价值而不是空的?
下拉菜单似乎不是选择类型;它是一个经典的选择组件,具有来自 Material UI 的附加样式。这是它在 HTML 中的样子。我将尺寸做得更小,以便更容易查看,并且位置是根据元素或组件的 ID 动态变化的。
Cypress.Commands.add("selectTooltipDropdownOption", (optionText, inputSelector) => {
cy.getCyInput(inputSelector,{timeout:10000}).click();
cy.getCyRole("menu").children('li').contains(optionText).trigger("click", { timeout: 10000 });
cy.getCyInput(inputSelector)
.invoke("prop", "defaultValue")
.should("contain", optionText);
});
Run Code Online (Sandbox Code Playgroud)