Category: QA

  • QA Links

    QA Links

    For a long time I’ve maintained a curated list of links related to my work in a Google Doc. I’d share it when someone asked, but it wasn’t particularly discoverable and couldn’t easily be contributed to by others. Today I migrated it to an Awesome List over on Github 🚀 I’ll be cleaning it up quite a bit over the next month or so…

    [Read More]

  • Is .firstMatch faster than .element? An XCUITest Becnhmarking Exercise

    I recently came across a Youtube video (not linking it because I didn’t think it was particularly good) where a key point the presenter was trying to make was that using .firstMatch was far more efficient than using .element when attempting to locate an element because it stops at the first element found as opposed to continuing to check for others (.element will fail if there is…

    [Read More]

  • Timer Patterns in XCUITest

    Waiting for things to happen is one of the main challenges in UI testing; I can’t click something if it’s still animating onto the screen or we’re waiting for data to load. While test frameworks do have some built-in intelligence to wait for the application to idle, they’re rarely enough to provide a reliable experience, and are very limited. Note: These patterns work equally…

    [Read More]

  • The most efficient way to type text in XCUITest

    With Xcode 13 and iOS 15, the standard typeText method became incredibly slow. So slow that I created an alternative using the pasteboard. This proved flaky and needed support code in order to succeed reliably (and it did): It was marginally faster, but when I’m doing the same thing hundreds or thousands of times seconds add up. Having read a recent StackOverflow answer to something…

    [Read More]

  • Getting an xcresult out of CircleCI

    An XCResult is a bundle of test results created by Xcode. It contains detailed debugging and screenshots. As with all “bundles” on macOS, it’s actually a folder. As such, standard means of storing CI results do not apply. To add to the difficulty of figuring out how to store this on a particular CI, Apple changes the format of this output every couple of…

    [Read More]

  • Safari and XCUITest

    THIS ARTICLE IS NOT ABOUT TESTING WEBSITES WITH XCUITEST. I think that can be done, but I don’t do it, it sounds terribly painful, and there are probably better tools available. This article is to help you with a very common question I see asked on the StackOverflow XCUITest tag. “How do I ensure my app has sent me to the correct URL when…

    [Read More]