小编Fah*_*Fah的帖子

使用 cypress 的 Material UI 下拉列表并不总是有效

我尝试了很多方法,但并不总是有效。我的意思是..它确实找到了该元素并单击它...但并不总是为下拉输入字段添加值。我无法继续测试,因为下拉列表是我需要的必填字段。 下拉输入字段不能为空。

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)

material-ui dropdown cypress

-2
推荐指数
1
解决办法
136
查看次数

标签 统计

cypress ×1

dropdown ×1

material-ui ×1