【发布时间】:2020-04-01 18:55:48
【问题描述】:
我遇到了问题。谁能帮帮我?
所以,我有两个下拉列表,第二个取决于我在第一个上选择的选项。
例如:第一个下拉列表有“数字”和“字母”选项,而第二个下拉列表默认为空。但是,当我在第一个下拉列表中选择“字母”选项时,第二个下拉列表中会填充“A”、“B”和“C”选项。手动,它工作正常,但是当我用赛普拉斯选择第一个下拉列表时,第二个没有被填充。它仍然是空的,所以我不能在上面选择任何东西。
HTML:
<select id="list" class="selectpicker form-control" onchange=""><option value="0">select your preferences</option><option value="2">numbers</option><option value="3">letters</option></select>
柏树: cy.get('#list').select('字母')
它确实选择了选项字母,我可以看到第一个下拉列表中选择的选项字母,但第二个没有任何反应。
【问题讨论】:
-
我认为您应该从“未更新”下拉列表中“强制”刷新数据。尝试“点击()”它。也许这个链接可以帮助你stackoverflow.com/questions/48362422/…
-
当我尝试使用 click() 时,cypress 返回错误:CypressError: cy.click() cannot be called on a
-
我按照您提到的其他主题的说明进行操作,我从没想过它会起作用,但它确实起作用了!!!!!!我必须在两个下拉列表中的每一个中包含这些代码行: cy.get('#list').contains('letters').then(option => { // 确认选项正确 cy.wrap( option).contains('letters'); option[0].click(); // 点击后,mdc-select 应该保存被选选项的文本 cy.get('#list').contains('letters' ); });
-
您显示
onChange="",但必须有一个事件链接这两个选择。选择后试试cy.get('#list').trigger('change')。 -
@GabrielCostaFinkel 我会把我的答案写成一个正常的答案,所以你可以批准它是每个遇到同样问题的人的答案。我将使用您的代码示例使其更简单:)
标签: cypress