ios - 如何调试 EarlGrey 测试中的超时失败?

标签 ios testing functional-testing earlgrey

每次我运行 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

最佳答案

当用于管理 View 出现和消失的方法未正确调用或未按正确顺序调用时,就会发生这种情况。查看超时失败消息中的状态转换堆栈跟踪以查看每个 View Controller 的状态。您可以使用此信息来确定哪个 View Controller 正在覆盖 viewWillAppearviewDidAppear 方法,但缺少对 super 调用的调用。 EarlGrey 使用 View 生命周期调用来跟踪应用程序的状态以实现同步。

关于ios - 如何调试 EarlGrey 测试中的超时失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447512/

相关文章:

javascript - 带有 restful API 的 Casper JS waitForResource

Grails 功能测试 Geb 页面对象模块不起作用 没有方法签名

ios - Objective-c 获取 iboutlet 的位置

ios - 嵌套 TableView 给出 UITableViewCellAccessibilityElement 错误

testing - 如何在机器人框架中导入具有常用关键字的文件?

testing - 是否可以仅将 Zephyr for JIRA 用于选定的项目?

javascript - 带有 es6-promified 对象的 sinon stub

ios - Xcode 仪器 "Networking recording service not found"

ios - 辅助功能:专注于一个 View

unit-testing - 用于测试 vim 插件的工具