Mobile Client

TH01 Automated UI Testing for Android and iOS Mobile Apps


8:00am - 9:15am

Level: Intermediate to Advanced

James Montemagno

Principal Program Manager – Xamarin


Beyond cross-platform development, the number one pain point for mobile developers is testing apps. In fact, it is such a challenge that 92 percent of developers don't do it, and yet quality matters even more on mobile. There are several technologies today to help with mobile testing, including Xamarin.UITest.

This is an automated UI acceptance testing framework based on Calabash that allows programmers to write and execute tests in C# and NUnit that validate the functionality of iOS and Android Apps on your emulators or local devices. Further, Xamarin Test Cloud then enables you to use these tests to run your app across 1000's of physical devices (both Android and iOS). It uses powerful, object-based UI testing, enabling you to write test scripts that do exactly what your users will do: tap, swipe, rotate, wait for UI elements to appear and so on.

When building for multiple platforms, you can share your test logic across the platforms, increasing reuse and enable faster test authoring. In this talk, we will explore how to create a test in Xamarin.UITest to run locally and then upload an app to Test Cloud. We will also try out Xamarin App Explorer, which systematically exercises screens and controls in your app before you ever write a single test. We will also look at Behavior Driven Development using Calabash and Cucumber.

You will learn:

  • How to take out all of the hard work and pain points of testing Automated UI Testing
  • How to share test logic across all platforms increasing your code reuse and speeding up development cycles
  • How to use Behavior Driven Development to create test scripts to ensure apps