Thursday, April 21, 2016 - 1:00pm
Scalable and Collaborative iOS UI Test Automation in Swift
The maturity of mobile UI automation frameworks has lagged behind web automation frameworks, but Apple’s introduction of UI automation to the XCTest framework in XCode 7 represents a major step forward. We now have the UI recorder, a tool that enables us to quickly identify elements in our application and generate working tests. Test automation paradise, right? Unfortunately, tools like the UI recorder can produce long scripts full of repetitive code that is neither well factored nor maintainable. Although you can apply to mobile the Page Object design pattern, popularized in web automation, there is a lack of out-of-the-box frameworks to help write these objects. Join Jason Hagglund as he demonstrates how we can easily create our own screen objects—classes that model the application’s UI and encapsulate element identification, common actions, and complex assertions. Jason applies object-oriented design concepts—including inheritance, overriding, and Swift protocols—that result in a robust framework that makes producing maintainable tests friendly and easy for both testers and developers.