Xcode: UI Automation: waitForValid()
There's a waitF开发者_如何学编程orInvalid() but what about a waitForValid() function? For some reason, push/popTimeout doesn't work for me in many cases. Apple?
If the element is "valid" but not "visible" that might return too early. This should wait until its visible and valid.
UIATarget.localTarget().pushTimeout(20);
window.navigationBar().name()["Welcome"].withValueForKey(1, "isVisible");
UIATarget.localTarget().popTimeout();
or
UIATarget.localTarget().pushTimeout(20);
window.navigationBar().name().firstWithPredicate("name is 'Welcome' and isVisible == '1'")
UIATarget.localTarget().popTimeout();
When you try to access a particular element directly, there is a default wait time of 5 seconds. You can change the default time as follows.
UIATarget.localTarget().pushTimeout(20);
window.navigationBar().name()["Welcome"];
UIATarget.localTarget().popTimeout();
This will make your instruments wait up to 20 seconds until the name of the navigation bar has changed to "Welcome."
精彩评论