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
 

Cost

 

Open Source Open Source
 

Platforms

 

Android and iOS Android and iOS
Apps  

Native, Hybrid and Mobile Web

 

 

Native, Hybrid and Mobile Web(limited)

 

Language  

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

 

Ruby
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.

Advertisements

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s