如何让UIAutomation始终等待2次视图更改?

时间:2014-08-28 14:31:14

标签: ios-ui-automation

Xcode 6 beta 6

我的iOS应用程序中的一个工作流程有一个UINavigationController控制的VC,它呈现一个模态VC; "保存"在模态VC中解析它并将新VC推送到导航堆栈:

所以来自

UINC --> VC_1 -modal-> VC_2

UINC --> VC_1 --> VC_3

理想情况下,我在JS中需要这样的东西:

app.navigationBar().buttons()["Save"].tap();
_waitForView(app.navigationBar().withName("VC_3 title"));
...
// assertions re: VC_3 contents

如果所需视图未出现在超时范围内,_waitForView()将引发测试或以其他方式失败。

几个场合,它一直等到VC_3出现并正确进行。但是,通常情况下,第一个VC_3特定的断言在VC_1内容上失败 - 所以我的_waitForView()没有抛出/失败!

我尝试了isValid()checkIsValid()pushTimeout() / poptimeout()的各种组合,然后先等待VC_1,然后等待_waitForView()中的VC_3。

让其他人得到这样的东西能够始终如一地工作吗?

TIA

1 个答案:

答案 0 :(得分:0)

不理想,但这似乎有效:

UIATarget.localTarget().delay(2);
_waitForView(app.navigationBar().withName("VC_3 title"));

我希望不要长期需要硬编码的2秒延迟,但希望它足够好""而Xcode 6,,稳定......