【问题标题】:Cypress request does not first time when test run赛普拉斯请求在测试运行时不是第一次
【发布时间】:2021-10-05 06:38:30
【问题描述】:

大家好,我有一个有趣的问题。

我有一个测试,我的请求成功完成,但应用内和数据库的状态没有改变。

我的情况是这样的:

我使用 cy.request() - graphQL 请求创建用户(名字,姓氏) 然后我运行第二个请求,更新用户并添加电话号码。

两个请求都成功了,但是当我打开这个用户时,电话号码是不可见的。

然后我单击 cypress 浏览器中的重新加载图标“再次运行此测试”,然后再次运行测试。再次请求成功。但这一次一切都很好: 已创建用户并将电话号码添加到此用户

我也试过

 retries: {
        runMode: 2,
        openMode: 1,
      },

没什么用,any1 有想法吗?


我所说的重新加载是指当我点击重新加载时。


@Tobias - 实际上我不是那样做的。

我有命令让我们说

cy.createUser() cy.updateUser()

我只是这样称呼他们,一个接一个。我认为这可能是我需要 cy.wait() 介于两者之间,但没有任何帮助。

测试总是第一次运行失败,然后如果我继续重新加载测试浏览器,它永远不会失败。这就是为什么它令人困惑。

【问题讨论】:

  • 尝试在请求后添加 cy.reload()。
  • 我做了,也不起作用:/
  • 可以分享项目源码吗?有什么方法可以在我的机器上运行这个测试?
  • @VitorAraujo 遗憾的是没有。本周我将尝试那些链接的请求,希望它会奏效。

标签: cypress


【解决方案1】:

您确定按顺序链接请求吗?

cy.request({...}).then((response) => {
      cy.request({...}).then((response) => {

     })
})

也许您可以添加更详细的代码示例。

【讨论】:

  • 谢谢 Tobias 和 Kkhan,我会尝试这种方法并让您知道。对不起,混乱。我对stackoverflow还不是很熟悉:)
  • 我也尝试过您的建议,但结果相同:) 可能是我的应用程序处理不正确。谢谢大家的帮助
猜你喜欢
  • 1970-01-01
  • 2019-07-29
  • 2019-12-27
  • 2020-08-22
  • 2023-02-10
  • 1970-01-01
  • 2023-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多