【发布时间】:2015-04-04 11:39:11
【问题描述】:
我有一个用UIAutomation写的自动化测试脚本。如果我从仪器运行它,所有测试都会通过。如果我从命令行运行它,其中一个测试用例将失败并导致测试脚本运行终止。
失败的测试用例是关于触发UIAActivityIndictor,然后显示一个警报窗口。
我在网上做了一些搜索,有人说命令行比 Instrument 快。有时,您需要确保UIAElement 有效。但是,就我而言,在那个测试用例中,命令行似乎丢失了应用程序的UIAElements 层次结构。 logElementTree 的结果只有目标和应用程序,根本没有窗口。 UI 似乎被冻结了。
任何建议都会有所帮助。
【问题讨论】:
-
您是否尝试过在故障线之前添加延迟?在我的测试中,我不得不故意放慢某些部分的速度,因为自动化工具的速度足以让应用程序处于过渡状态,例如对话框仍在消失时。控制台可能已经将您的代码加速到足以导致此类问题的速度。
-
是的,我添加了延迟。但问题是测试以某种方式丢失了整个视图层次结构。
-
我注意到 Instruments 有很多不稳定的行为,但我的所有问题都是与时间相关的问题,所以我希望它也能对你有用!
-
警报窗口是来自 iOS 还是来自您的应用程序?某些操作可能会弄乱
target和mainWindow引用。