There are a lot of tools available for mobile application automated testing. In this blog post we will try to compare among three of them – Robotium, Calabash and Appium. Let’s look at them individually and find out what are their capabilities in terms of a set of parameters.
Appium: Appium provides an API based on Selenium’s WebDriver JSON wire protocol and supports platforms like Android, iOS and FirefoxOS. Since the standard automation APIs work on all the platforms, there is no need to recompile the app. Also, we can use any WebDriver compatible language like PHP, Java, Ruby, Python, C#, etc. to write the tests. We can use any testing framework. It actually provides a true cross-platform mobile automation.
Calabash: Calabash is a free open source project which can help you run tests on iOS, Android and Simulator. It consists of two libraries – calabash android and calabash iOS, which helps in writing tests in domain specific languages. They enable test code to interact with the apps, wherein each of these interactions consists of a number of end user actions like gestures, assertions or screenshots. You can even test the HTML 5 part of the application using the cucumber interface.
Robotium: Robotium supports both native and hybrid app through its Android test automation framework. It provides the test case developers an easier way to write functional, system and acceptance test scenarios, with minimal knowledge of the application under test in minimal time. Actually, the framework can handle multiple android activities automatically and can integrate smoothly with Maven or Ant for continuous integration. The test case execution is generally fast and more robust.
Apart from the above discussed tools, we have some major tools for mobile test automation like DevJuice, Eggplant, Frank, MonkeyTalk, ranorex, MonkeyRunner, etc. Let’s take a look at a comparison matrix of a few of them.