If you are like me, the mobile app development world broadsided you.
I had just learned what Angular was for web applications, and the next thing I know mobile agents dominate as the primary way to consume the World Wide Web.
Existing organizations are pressured to build native mobile applications for existing web applications, and start mobile-first for all next generation apps. Mobile app developers are being bombarded by new OS updates, increasing device type grids, and browsers on the devices.
Building and testing a powerful mobile backend is one thing, but knowing what the users are seeing on the devices themselves, and testing user flows seems like an un-manageable task that most often gets half-done and served half-cooked.
But it does not have to be this way. Thankfully, there is a solution that makes mobile testing easier, and via automation allows for more frequent releases at a higher quality. Appium, an open source test automation framework for mobile applications, eliminates the fear and burden of testing your mobile application. It will only take you a few Google searches to realize you want to use it, but how do you get started? Here are the top resources to get you over that learning curve and testing.
First step. Learn Selenium (if you don’t already know it), download Appium, and download a client library for your favorite programming language.
Step two, get familiar with Appium
- Appium introduction
- Appium documentation: pay specific attention to the requirements and desired capabilities.
Step three, get your emulators.
- iOS simulator is available with XCode (for Mac users only).
- Genymotion is probably the easiest way to get an Android emulator.
Step four, run your tests
- Run an Appium test for a native Android application
- Run an Appium test for a native iOS application
- Run an Appium iOS tests on Sauce Labs
- Run an Appium test on AppThwack Physical Device
You can also skip all individual steps and follow these complete walkthroughs:
All of this is great for user-flow tests, but don’t forget about what the user sees. You also need to visually test the application across all screen formats. Building your own screenshot comparison tool is of course an option, but it is time consuming and often does not give desired results: tests are brittle and false-fails are frequent (because of insignificant pixel differences). As a result, these types of home-made tools generate a lot of overhead alongside high maintenance costs. This is why most front-end developers and automation engineers found them to be counter-productive and next to unmanageable.
So how can you make sure your app’s UI and front-end functionality is flawless, without these drawbacks? Applitools Eyes solved these issues with an automated visual testing solution that goes beyond pixel-by-pixel screenshot comparison: actually mimicking human vision. Here is how to use Applitools eyes with Appium:
If you’re still asking yourself “Why Appium?”, check out this comparison grid that compares Appium v. Calabash, Frank, UIAutomation, iOS-driver, KeepItFunctional, MonkeyTalk, Robotium, UIAutomator, and Selendorid.
Hopefully by now, you’re addicted to Appium, so start creating and running your tests today. Let us know what awesome scripts you came up with and how leveraging visual testing improved your application quality.
Chris Riley is a developer turned DevOps enthusiast. He helps organizations realize the benefits of modern tooling.