Why Appium Became My Tool of Choice for Mobile Test Automation

Vivek Singh
dots&arcs, Helping Build Stellar Products
3 min readJan 14, 2016

by Vivek @ www.dotsandarcs.com

Hola to all my fellow Test Automators.

Some of you told me that our previous post regarding manual vs automation testing made lot of sense. But like everything else in a startup, things evolve at every step. Now that we’ve stepped into public beta, we need more robust testing around different browsers, devices, and OS versions. And that’s why we started looking at some automation tools.

I just came across this amazing automation tool for testing on mobile devices. I was doing research regarding what automation tool to use across all our mobile devices for our project, zipBoard, and I was in a bit of a pinch because there are just so many automation tools out there. So I decided to split my project test requirements into different categories:

  • Compatibility with desktop machines and support for multiple browsers.
  • Ability to run web-apps on Android/iOS.
  • Support for current and future versions of Android OS.
  • Support for current and future versions of iOS.
  • Upcoming hybrid app implementations.

I did a lot of research and tried many test automation tools such as Selendroid, Robotium, etc. Most of them presented one or more of these problems:

  • Some of them didn’t support either Android or iOS, so they were out of the equation right away.
  • Many of them didn’t have support for a lot of programming languages. For someone like me who’s only well versed in JAVA, this is problematic.
  • Some tools require mobile application’s source code to build the automation scripts.
  • Extended support for every new OS update was absent in most tools. You can imagine why it would make anyone want to rip their hair out.

So what’s the best tool for use?

Well, I really can’t say. There probably can never be the absolute best tool for all sorts of automation testing, because it all depends on your project requirements. You’ll have to trade off some disadvantages for advantages, and it’s up to you to decide if the juice is worth the squeeze.

What did I choose? Appium.

It may not be THE best automation tool out there, but it is pretty darn good. And if you want full mobile automation, then it doesn’t get better than this. Here’s why Appium made such a great fit for me:

  • Supports a lot of programming languages: Java, Ruby, Python, PHP, C#, Clojure, Perl.
  • Doesn’t require mobile application’s source code to build automation scripts.
  • Supports Android and iOS alike.
  • No need to decompile any app, can work directly .
  • Supports automation for native, hybrid, as well as web apps.
  • Allows automation even on emulators for particular platforms!
  • Supports all versions of Android and iOS, including future releases.

So yeah, that sums it up for why I chose Appium as my go-to tool for mobile automation. We’ve done a lot of manual testing, rigorously checking each component of our product, but now that we’re progressing towards a more stable build each day, automation has become a necessity. Appium is really handy for stable components and modules, and for regression testing on stable features when new features get implemented. So if you’re someone about to start automation testing on Android and iOS devices, Appium is the way to go.

If you enjoyed this post and would like to know about real implementation of Appium over devices, let me know in the comments section. I’ll definitely cover them in a series of blog posts.

by Vivek @ www.dotsandarcs.com

--

--