我无法在cypress的下拉列表中切换值。下拉菜单不是选择类型

时间:2019-10-02 06:23:06

标签: dropdown cypress

在我的方案中,我需要切换到下拉列表中的可用值并根据选择验证结果。我在下拉列表中具有“网络内”和“网络外”值。默认情况下,将显示一个值,而另一个则被隐藏。此下拉列表不是选择类型。所以当我尝试时,

cy.get('#react-select-dropdown-value-value')。select('网络外'); -脚本失败,错误提示,元素不是选择类型。 然后尝试 cy.get('#react-select-dropdown-value-value')。eq(0).click(); -- 它单击下拉列表,并且不单击预期的值。我尝试了click({multiple:true})。但没有工作。 force:true,也没有单击。

cy.get('#react-select-dropdown-value-value')。contains(网络外).click(); -没用,说找不到元素

cy.get('#dropdown-value')       .should('be.visible')       .eq(0)       .contains('网络外')       .click(); CypressError:超时重试:预期“为可见”

该元素“”不可见,因为其内容被其父元素之一裁剪,该元素的CSS属性为“ hidden”,“ scroll”或“ auto”

1 个答案:

答案 0 :(得分:0)

react-select-dropdown确实有点特殊。我们从“反应选择”下拉列表中选择一个值的操作如下:

cy.get('[id*="start-shift-floats"]').click()
cy.get('[id^="react-select-"]')
    .contains('Out-of-Network')
    .click()

您应该了解以下内容: cy.get('[id*="start-shift-floats"]')是打开下拉菜单的实际get()。因此,它将在您的应用程序中被命名为不同。 对于反应选择下拉列表中的选项,cy.get('[id^="react-select-"]')是常用的get()。通过检查其中包含“网络外”的内容,我们可以让赛普拉斯单击该特定选项。