Insights from Our Experts

Blog image

Why automated testing? And why Calabash?

Author Image

Muneer Muhammed,Software Engineer

As we all know, automated testing consumes very little time and it helps us to avoid errors and omissions which are quite usual in manual testing.


We have  a large number of testing tools especially for automated testing available out there in the market. We can avail of the tools which are either free or paid.


If we are looking for a less expensive mobile acceptance  testing tool which is easy to understand and implement without too much complications I would recommend Calabash. This is available for both android and IOS platforms.This open source tool is developed and maintained by Xamarin. Calabash lets us express the behaviors of the application in  plain English that helps non technical people to read and even edit them if needed. These behaviors defined in plain English  are executed with the help of Ruby rules.



Implementing test cases using Calabash is very simple. It has mainly two sections, the first one is a feature file where we compose the test behaviors according to the requirements. Once we define the behaviors to be executed in plain English, we need to write step definition for each behaviors and for that we should rely on Ruby and its syntax.


Feature files are written in Cucumber and it tell the user which story is to be executed. It is possible to use the same feature file for both android and IOS since both are written in Cucumber. The user stories are being executed with the help of predefined steps from Calabash. Calabash lets the developer to customise the steps if needed according to the requirements.


One of the major upside of using Calabash is, it makes the whole testing process very much easier than we expect since it avails of  Cucumber syntax for the feature file. And unlike the other testing tools available in the market Calabash lets us execute the test in a large number of devices of different size and dimensions according to the user's need and simultaneously run the test in different devices.You can try the docker implementation of Calabash-Android  by using this repository.

I Need

Help for