Manoj Manoj - 8 months ago 133
iOS Question

Unable to monitor event loop AND Wait for app to idle

I am writing UITest cases for my app using XCTest. App makes several server calls in the homescreen. I could not navigate to next screen. Automation often stays idle for 1 min or even more than that with the message

Wait for app to idle


Unable to monitor event loop

Is the there a way to make the app to execute my testCases breaking this ???

Answer Source

I have set arguments in UI test class

let app = XCUIApplication()
app.launchArguments = ["NoAnimations"]

In my Appdelegate's didFinishLaunchingWithOptions method I made a check

 NSArray *args = [NSProcessInfo processInfo].arguments;

    for (NSString *arg in args){
        if ([arg isEqualToString:@"NoAnimations"]){
            [UIView setAnimationsEnabled:false];

So now all over my app there wont be any animation and my app is no more blocked. This reduced my automation time from 25mins to 2mins.