赛普拉斯选择下拉列表不会重新渲染从属下拉列表



我有一个下拉列表,onChange为第二个下拉列表设置选项。

第一个下拉列表触发setState,该setState触发useEffect,该useEffect将现有数据过滤到映射到第二个下拉列表的列表中。

这在浏览器中工作得很好,但在Cypress 10.4中,当第一个下拉列表被选择,并且值被确认已经改变时,第二个下拉列表只有大约5%的时间用新值重新渲染,通常是在点击";重新运行";。在剩下的时间里,它保持默认状态,因此所有依赖它的测试都会失败。

我尝试过的不起作用的东西:

  • 显式等待下拉数据API调用(数据在那里;Cypress只是不触发对re-render的反应(
  • 第一次选择的select('val1').trigger('onchange')
  • 第一次选择的select('val1').trigger('blur')
  • .contains('val1').click({force:true}).click({force:true})第一选择
  • 这件事:选择下拉列表项目使用柏树
  • 安装柏树反应选择器并尝试cy.waitForReact()

有人能解决这个问题吗?

使用钩子时,Cypress测试中的光纤线程并不总是完整的。

触发onchange后尝试让步

select('val1').trigger('onchange')
cy.wait(0)                          // yields the thread to React

相关内容

  • 没有找到相关文章

最新更新