【问题标题】:How do I debug timeout failures in EarlGrey tests?如何调试 EarlGrey 测试中的超时失败?
【发布时间】:2023-03-26 20:47:01
【问题描述】:

每次我运行 EarlGrey 测试时,它都会失败并显示以下消息:

由于错误而无法更改设备方向:Error Domain=com.google.earlgrey.GREYUIThreadExecutorErrorDomain Code=0 "Failed to execute block because App is not idle. 动画或网络请求可能无限期持续? 等待终端事件给我一个问题。所有元素的完整状态转换调用堆栈:

<RootViewController:0x7ff40a846e50> => Waiting for UIViews to appear

【问题讨论】:

    标签: ios testing functional-testing earlgrey


    【解决方案1】:

    当用于管理视图外观和消失的方法没有被正确调用或以正确的顺序调用时,就会发生这种情况。查看超时失败消息中的状态转换堆栈跟踪以查看每个视图控制器的状态。您可以使用此信息来确定哪个视图控制器正在覆盖 viewWillAppearviewDidAppear 方法,但缺少对 super 调用的调用。 EarlGrey 使用视图生命周期调用来跟踪应用程序的状态以进行同步。

    【讨论】:

    • 非常感谢你,尤其是我必须打电话给super的部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多