我的UI测试失败,因为测试等待无休止,直到应用程序空闲.我看不出有什么事情发生在后台,像一个加载微调.
@H_502_9@解决方法
它只发生在一个选项卡上.所有其他选项卡都可以插入,但测试在屏幕3上失败.我在屏幕3上检测到测试后,单击另一个选项卡,测试恢复并成功完成.
有任何想法吗?
- (void)testExample { XCUIElementQuery* tabBarsQuery = self.app.tabBars; [tabBarsQuery.buttons[@"Screen2"] tap]; [tabBarsQuery.buttons[@"Screen3"] tap]; [tabBarsQuery.buttons[@"Screen1"] tap]; [tabBarsQuery.buttons[@"Screen4"] tap]; }
也许你有一些动画或一些其他背景(或前景)活动,在主线程上经常更新你的UI.这使得应用程序永远不会“停顿” – 至少在此选项卡上.在我们的应用程序中,我们使用了“重复”选项. cpu使用率很好,并不是电池耗尽,而是使测试每次都失败.禁用动画解决问题.我找不到强制测试不要等待空闲的方法,所以我们最终使用#ifdef为UI测试目标使用运行时参数禁用动画,如下所述:
https://stackoverflow.com/a/33466038/168996