【问题标题】:Cypress test fails before values are loaded into formly form在将值加载到正式形式之前,赛普拉斯测试失败
【发布时间】:2022-08-03 16:18:43
【问题描述】:

我目前有一些非常脆弱的柏树测试。目前,有时在提交表单后检查表单输入字段的值的测试会失败,因为赛普拉斯在提供值的 Observable 发送它们之前检查字段的值。

您可以在测试视频中看到它,测试失败的一帧显示“预期值 \'5\' 但得到值 \'\'\”,几帧后该字段的值为 5。

大致代码看起来像

cy.get(\"field\").type(\"{backspace}\" + 5);
cy.get(\"save\").click();
gotoHomeSite();
gotoFormsSite();
cy.get(\"field\").should(\'have.value\', 5);

从索引页面返回设置时,是否有办法等待值被传输?

  • 您的问题没有附加视频。
  • 您是否尝试过增加超时?只要您告诉赛普拉斯应该(),它就会重试。
  • @AlapanDas 我知道对不起,我措辞不好。我无法附上视频,因为它与工作有关,我的想法是描述发生的事情
  • @lef您如何添加超时然后检查?
  • 您应该在要检查的每个新页面和新元素上添加断言。这可以从be.visible 及以上。此外,您可能希望在任何请求上添加间谍,以防页面正在等待进程完成。

标签: angular forms cypress


【解决方案1】:

更长的超时可能会起作用

cy.get("field", {timeout:10000}).should('have.value', 5)

【讨论】:

    【解决方案2】:

    我们的问题在于我们没有正确等待服务器响应的一些测试。

    增加超时有所帮助,但不幸的是不是正确的解决方案。

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      • 2021-11-14
      相关资源
      最近更新 更多