16

I have used Appium in Mobile automation with IOS and Android. I wanted to know about advantages that offers Calabash and if there are common point in generated scripts of both tools?

I have followed this link : Appium VS Calabash

Emna Ayadi
  • 2,430
  • 8
  • 37
  • 77
  • 1
    ,nice asked appreciated – khakishoiab Sep 29 '16 at 10:42
  • 2
    Just for your information, Calabash has stopped active development since April 2017(?) so this will probably be a part of your comparison process. But then again, Calabash might be picked up by the Open Source community and live on. https://developer.xamarin.com/guides/testcloud/calabash/introduction-to-calabash/ – Niño Roldan Jun 16 '17 at 00:41

5 Answers5

13

I have hands on in mobile automation quite a long time. let me tell my point of view on both tools.

enter image description here

both also have advantage and disadvantage find below:

enter image description here

Mani
  • 1,199
  • 2
  • 9
  • 22
9

I have used calabash and appium both for automation. Appium has more advantages than calabash.

Advantages of Appium over Calabash: 1. You can write your code in multiple language like Java,Python, C#, php etc. However, Calabash restrict to use RUBY only.

  1. Appium comes with many predefined methods such as OpenNotification(), StartActivity(), InstallApp etc. Calabash does not provide such predefined methods.

  2. Appium set up is very easy as compared to Calabash.

  3. In calabash, it installs the app on the device every time you run the test. However, In appium you have a feature where in you don't need to install the app every time. It works with previously installed app on the device.

  4. Appium works with both native and hybrid app.

There are many advantages of appium. I hope this helps.

Vinod
  • 956
  • 7
  • 15
  • Thanks a lot for your answer. This what i need some one that work with both and confirm which one has more advantages :D – Emna Ayadi Sep 29 '16 at 10:40
  • Kiran Sk, you should omit the app property in the capabilities when you create a session and set bundleId instead. – SwiftGod Nov 07 '18 at 15:17
4

Try them both for yourself.
I found calabash easier to get started. I had a complete user flow test working from setup to working test in Calabash in half the time it took for Appium. I don't like using xpath. It makes tests brittle and subject to breakage if something in the layout changes. Appium requires mainly the use of xpath. Calabash allows you to drive actions and interactions through the selection of elements by their text . I prefer this because that same text is normally in the designs and/or requirements.
Some comments in other posts are not accurate. Calabash does not require the install of the app every time unless you don't look beyond the surface. There is a simple means to enable/disable it. I have logic that runs either way based on passing an argument. Calabash has more than enough existing methods to interact with your app. It has a built in debug that allows you to tinker with element interaction and those same calls can be copied and reused in your test code. Using it with getgauge.io provides reporting akin to the built in Cucumber but is easier to run multi-threaded and easier to write your feature/spec files.

Be fair to both tools and yourself. Create a simple project in each and try for yourself. Don't make a decision solely based on someone else's opinion.

mgraffx
  • 51
  • 4
2

There is no common part in the automation scripts since Calabash uses query for interacting elements but Appium uses selenium find functions.

The best part of the Calabash is that you can use cross-platform frameworks for automating ios and android application with same feature file and most part of automation code. However the worst part is that Calabash is Ruby only.

Look at this post for more details about the differences of Calabash and Appium.

Mesut GUNES
  • 7,089
  • 2
  • 32
  • 49
1

Since you have already read the differnces , Few things to note that Calabash can also be used with Xamarin which is also a good tool to test hybrid apps and you can run the same script for ios and android apps with some minor changes.Also it has been now integrated into visual studio,so microsoft support is inevitable and some users might feel comfort factor.Lambda expressions are also a plus.A major setback with the Calabash however that it only uses ruby.

Appium on the other hand can support various languages which is plus and you can use webdriver as well.However it struggles with hybrid apps but you can overcome that functionality by using google chrome mobile view to find coordinates to click.one thing for sure is that sause labs have many bugs to fix in Appium yet.

khakishoiab
  • 9,673
  • 2
  • 16
  • 22