News for hackers. Stuff that matters.
Re:What's in my iOS Toolbox? Part 2 by MaxGabriel on Monday February 03, 2014 @10:20PM (#7175290)
My personal recommendation on Automated Testing is to use Subliminal https://github.com/inkling/Subliminal

Subliminal allows you to write tests in Objective-C that interface directly with your app. This makes your tests be more powerful (can test things not visible to the user, and can simulate activity that UIAutomation can't (like a credit card swipe, which is why KIF was invented)).

More amazing is that you get the benefits of static typing. Instead of stringly-typed accessibility identifiers, you can use string constants (NSString * const kIdentifier = @"blah").

It runs by bridging UIAutomation and Objective-C, so its more reliable than KIF, which has to use private API to simulate touches. This doesn't work correctly for gesture recognizers and is very fragile.

Re:What's in my iOS Toolbox? Part 2 by rbritton on Tuesday February 04, 2014 @12:55AM (#7175769)
I've been using UIAutomation to automate screenshot generation and make it easier to keep support documents up-to-date. Do you know if this works for that? Straight UIAutomation times out a lot doing that and often requires multiple runs to get everything.
Re:What's in my iOS Toolbox? Part 2 by MaxGabriel on Tuesday February 04, 2014 @01:11AM (#7175817)
Yes. You can send Javascript to be evaluated by UIAutomation so it has all the capabilities of that UIAutomation does. There's a PR that adds this natively https://github.com/inkling/Subliminal/pull/118, but you can also just implement it yourself quite easily:

    - (void)captureScreenshotWithFilename:(NSString *)filename
    {
        [[SLTerminal sharedTerminal] evalWithFormat:@"UIATarget.localTarget().captureScreenWithName(\"%@\")",
                                                [filename slStringByEscapingForJavaScriptLiteral]];
    }