我有一个用UIAutomation
编写的自动化测试脚本。如果我从仪器运行它,所有测试都会通过。如果我从命令行运行它,其中一个测试用例将失败并导致测试脚本运行终止。
失败的测试用例是关于触发UIAActivityIndictor
然后显示警告窗口。
我在线进行了一些搜索,人们说命令行比仪器更快。有时,您需要确保UIAElement
有效。但是,在我的情况下,在该测试用例中,似乎命令行丢失了应用程序的UIAElements
层次结构。 logElementTree的结果只是目标和应用程序,根本没有窗口。用户界面似乎已经冻结了。
任何建议都会有所帮助。
答案 0 :(得分:1)
我遇到过类似的问题。当UI完全冻结时,意味着应用程序已被置于无限循环中。在我的情况下,具有巨大输出的NSLog是原因。要检查: 1)在脚本中的某个时刻放置很大的睡眠 2)运行脚本 3)将xcode附加到应用程序:debug->附加到进程 - >您的应用程序的进程 4)等到冻结发生。手动确保 5)在xcode按下暂停执行 6)现在您可以在堆栈跟踪中看到应用程序挂起的位置