Thursday, April 21, 2016 - 1:00pm

Scalable and Collaborative iOS UI Test Automation in Swift

Add to calendar
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.
Jason Hagglund
The Climate Corporation

A senior software engineer in test, Jason Hagglund has five years of industry experience advocating for and executing great test engineering practices. Jason is passionate about applying software design principles to test automation code; working toward maximum collaboration between test engineers and application developers; and more efficient application delivery processes. At The Climate Corporation, his primary focus is web/mobile UI automation frameworks and continuous delivery pipelines—enabling timely and quality delivery of software and data analysis tools—to help farmers make more effective and profitable decisions. He GitHubs and tweets from @jhagglund.