3

我遇到了一个问题,当我在对话框中单击提交时,对话框上的解决事件应该调用一个函数。单击按钮时对话框关闭,但从未调用 api 函数(从开发工具中可以看出)。如果我停止测试并在 cypress 浏览器中手动执行该操作,它将调用该函数。我不确定为什么手动点击与测试运行者点击的行为不同?

4

1 回答 1

0

有时你需要一个艰难的毫秒等待(应该避免)......
你可能有一个等待问题。添加一个cy.wait(1000)1000 毫秒的硬等待,看看是否可以修复它。如果是这样,您将需要确定按下按钮时尚未完全加载的内容。虽然应该强烈避免硬等待,但我发现自己以最小的毫秒数(为了安全起见,x2)谨慎地使用它们。动画就是我想到的一个例子。

确保所有订阅都准备好
我正在开发一个使用 websockets 的流星应用程序(tricker to wait on than xhr events)。我调用一个为所有订阅返回真/假的方法。这有助于等待 cypress 在网络层中看不到的任何事件。询问您的开发人员您的应用程序中是否有根据应用程序的就绪状态返回真/假的方法。

审查竞态条件
这可能是一个合法的竞态条件。以防万一,我会与开发人员一起审查它。

于 2020-01-03T00:21:49.057 回答