在我的方案中,我需要切换到下拉列表中的可用值并根据选择验证结果。我在下拉列表中具有“网络内”和“网络外”值。默认情况下,将显示一个值,而另一个则被隐藏。此下拉列表不是选择类型。所以当我尝试时,
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”
答案 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()
。通过检查其中包含“网络外”的内容,我们可以让赛普拉斯单击该特定选项。