Appium vs Calabash

In this blog, we will read about the differences in Appium and Calabash and see which is better and why.

Parameter Appium Calabash



Open Source Open Source



Android and iOS Android and iOS

Native, Hybrid and Mobile Web



Native, Hybrid and Mobile Web(limited)



PHP, Java, Ruby, Python, C#, Go, Haskell etc.


Learning Curve  

Since it is based on Selenium Webdriver, which is THE most famous tool for web automation, learning curve for people switching over from Selenium to Appium would be easy and quick.


Depends, if someone is comfortable in Ruby then Learning curve could be faster.
Coupling with specific Tool Like Cucumber and Capybara No such tight coupling  

– Tightly coupled with Behaviour Driven Framework, Tests are written in BDD Style in Cucumber and converted to Robotium or Frank at run time.

– Learning curve could be more as not only Calabash has to be learnt but Gherkin and Cucumber also.


Framework Integration  

– Can be integrated with many tools such TestNG, JUnit, Cucumber, JBehave, Maven, Ant etc.

– easy as people will know 1-2 tools from above list already


– Cucumber and JUnit only.

– Not necessarily teams is already aware about Cucumber

Community Support  

– HUDGE and big community Support


– Not as good as Appium
Change in Target App No changes Whatsoever required in target app  

Need to prepare special target to build apps under Test



Mobile functions like Gesture, swipe etc.


Supports extensively Supports extensively

Finding Elements and their Attributes


UI Tool available to inspect Elements and their attributes Command Line Tool to inspect Elements and their attributes
Record and Play



– This feature is available to record the test case and generate the code in many languages

– This feature would help the beginners to understand the nuisances and ramp-up quickly.


No Such option
Code Generation by Tool  

Ability to export the recorded actions as standard test scripts (preferably JUnit tests) and able to be edited by the engineer


No Such option
Same Test Case for Android and iOS  

– Ability to record or write the test scripts for one platform (OS and its version) and run the same scripts on other OS with minimal changes

– This feature helps brings down the cost of Test Case creation.


– Two libraries – calabash-android and calabash-iOS

– Same code can’t be used to run on both platforms.


Device Support  

Real Devices and Emulators/Simulators for both Android and iOS


Real Devices and Emulators/Simulators for both Android and iOS

Parallel (TC’s executed in parallel)


Yes Yes

CI Support


Yes Yes

Cloud Integration


SauceLabs etc. Xamarin etc.

Based on various factors discussed above i would like to go with Appium, until you really like coding in Ruby.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s