{"id":10922,"date":"2017-10-13T12:15:42","date_gmt":"2017-10-13T10:15:42","guid":{"rendered":"http:\/\/flaven.fr\/?p=10922"},"modified":"2026-09-16T10:10:20","modified_gmt":"2026-09-16T08:10:20","slug":"mobile-testing-using-calabash-or-appium-to-test-your-mobile-applications-on-ios-and-android","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2017\/10\/mobile-testing-using-calabash-or-appium-to-test-your-mobile-applications-on-ios-and-android\/","title":{"rendered":"Mobile, Testing &#8211; Using Calabash or Appium to test your mobile applications on iOS and Android"},"content":{"rendered":"<p>At a certain point when you are making development for mobile, your have to, like for the desktop, to leverage on test automated tool for mobile application. For mobile, you may find 2 solutions that are widely common in mobile environment : Appium and Calabash.<br \/>\nOur propose was to handle the tests with the same tool in both of the most popular OS : Android and iOS.<\/p>\n<p>With Appium you are not force to give your source to an external company, that is mainly very time consuming. With Appium, as the in-house tester, you can handle test automation on both Android and iOS mobile application.<\/p>\n<p>Appium provide a client-side that is very helpful for  non-developer like me for instance.<\/p>\n<p>Appium is also very close to the Selenium RC and Appium server leverage on the selenium api and what else&#8230; for Calabash<\/p>\n<p>For Calabash, the interesting point is that you can write your features straight in Gherkin. This is to my point of view, one the best advantage of Calabash. For instance, you can ask our PO (Product Owner) who knows its products and has certainly written the User Stories for the application&#8217;s conception to convert them into useful functional scenarios with a minimum learning curve. <strong>What more could you ask for?<\/strong><\/p>\n<p>This non-tutorial covers haphazardly some of the required commands and installation that you may have to do and give a large amount of resources especially some videos in order to help you to install on Mac Appium and calabash for Android and iOS.<\/p>\n<h4>Appium<\/h4>\n<p><code>Appium is giving you a \"doctor\" to inspect your installation and give you the errors to solve<\/code><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2017\/10\/tests_on_mobile_calabash_appium_io_1.jpg\" width=\"640\" height=\"480\" alt=\"Mobile, Testing - Using Calabash or Appium to test your mobile applications on iOS and Android\"><\/p>\n<p><code>When there is no errors in the diagnostic, you can run Appium<\/code><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2017\/10\/tests_on_mobile_calabash_appium_io_2.jpg\" width=\"640\" height=\"480\" alt=\"Mobile, Testing - Using Calabash or Appium to test your mobile applications on iOS and Android\"><\/p>\n<h4>Calabash<\/h4>\n<p><b>To install calabash for mac<\/b><\/p>\n<pre lang=\"bash\">\r\n$ curl -sSL https:\/\/raw.githubusercontent.com\/calabash\/install\/master\/install-osx.sh | bash\r\n<\/pre>\n<p><b>to launch calabash<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-sandbox\r\n<\/pre>\n<p><b>To setup calabash for Android<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-android setup\r\n<\/pre>\n<p><b>To generate the feature directory inside the project directory<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-android gen\r\n<\/pre>\n<p><b>to launch calabash for an .apk<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-android run app-debug.apk --verbose\r\n<\/pre>\n<p><b>For iOS, you may use the following command.<\/b><\/p>\n<p><b>To install calabash for iOS<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-ios setup\r\n<\/pre>\n<p><b>To update calabash<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-sandbox update\r\n<\/pre>\n<p><b>To start calabash<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-sandbox\r\nThis terminal is now ready to use with Calabash.\r\nTo exit, type 'exit'.\r\n<\/pre>\n<p><b>Go to your project (the dir containing the .xcodeproj file)<\/b><\/p>\n<pre lang=\"bash\">\r\n$ calabash-ios gen\r\n<\/pre>\n<h2>Read more<\/h2>\n<ul>\n<p><b>CALABASH<\/b><\/p>\n<li>Easily setup an Android development environment on a Mac<br \/><a href=\"https:\/\/gist.github.com\/patrickhammond\/4ddbe49a67e5eb1b9c03\" target=\"_blank\">https:\/\/gist.github.com\/patrickhammond\/4ddbe49a67e5eb1b9c03<\/a><\/li>\n<li>Step 1 calabash IOS- set up from scratch<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=0PrQc2AM-3k\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=0PrQc2AM-3k<\/a><\/li>\n<li>Tutorial: Build iOS App from Scratch<br \/><a href=\"https:\/\/realm.io\/docs\/tutorials\/realmtasks\/\" target=\"_blank\">https:\/\/realm.io\/docs\/tutorials\/realmtasks\/<\/a><\/li>\n<li>Introduction to Calabash<br \/><a href=\"https:\/\/anadea.info\/blog\/introduction-to-calabash\" target=\"_blank\">https:\/\/anadea.info\/blog\/introduction-to-calabash<\/a><\/li>\n<li>Calabash-ing iOS Applications<br \/><a href=\"https:\/\/dzone.com\/articles\/calabash-ing-ios-applications\" target=\"_blank\">https:\/\/dzone.com\/articles\/calabash-ing-ios-applications<\/a><\/li>\n<li>iOS Automated Testing with Calabash, Cucumber, and Ruby<br \/><a href=\"https:\/\/www.moncefbelyamani.com\/ios-automated-testing-with-calabash-cucumber-ruby\/\" target=\"_blank\">https:\/\/www.moncefbelyamani.com\/ios-automated-testing-with-calabash-cucumber-ruby\/<\/a><\/li>\n<li>Open Source iOS Apps \u2013 Real iOS Source Code Examples<br \/><a href=\"https:\/\/maniacdev.com\/2010\/06\/35-open-source-iphone-app-store-apps-updated-with-10-new-apps\/\" target=\"_blank\">https:\/\/maniacdev.com\/2010\/06\/35-open-source-iphone-app-store-apps-updated-with-10-new-apps\/<\/a><\/li>\n<li>Adaptive Layout Tutorial in iOS 11: Getting Started<br \/><a href=\"https:\/\/www.raywenderlich.com\/162311\/adaptive-layout-tutorial-ios-11-getting-started\" target=\"_blank\">https:\/\/www.raywenderlich.com\/162311\/adaptive-layout-tutorial-ios-11-getting-started<\/a><\/li>\n<li>iOS Automated Testing with Cucumber and Appium in the BDD<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=uor32GM0Td4\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=uor32GM0Td4<\/a><\/li>\n<li>calabash-android<br \/><a href=\"https:\/\/github.com\/calabash\/calabash-android\/blob\/master\/ruby-gem\/lib\/calabash-android\/canned_steps.md\" target=\"_blank\">https:\/\/github.com\/calabash\/calabash-android\/blob\/master\/ruby-gem\/lib\/calabash-android\/canned_steps.md<\/a><\/li>\n<li>Calabash<br \/><a href=\"https:\/\/github.com\/calabash\/\" target=\"_blank\">https:\/\/github.com\/calabash\/<\/a><\/li>\n<li>Calabash for iOS<br \/><a href=\"https:\/\/github.com\/calabash\/calabash-ios\" target=\"_blank\">https:\/\/github.com\/calabash\/calabash-ios<\/a><\/li>\n<li>calabash-ios-example<br \/><a href=\"https:\/\/github.com\/calabash\/calabash-ios-example\" target=\"_blank\">https:\/\/github.com\/calabash\/calabash-ios-example<\/a><\/li>\n<li>ios-smoke-test-app<br \/><a href=\"https:\/\/github.com\/calabash\/ios-smoke-test-app\" target=\"_blank\">https:\/\/github.com\/calabash\/ios-smoke-test-app<\/a><\/li>\n<li>calabash tutorial for mobile app testing<br \/><a href=\"https:\/\/bitbar.com\/calabash-tutorial-for-mobile-app-testing\/\" target=\"_blank\">https:\/\/bitbar.com\/calabash-tutorial-for-mobile-app-testing\/<\/a><\/li>\n<li>Calabash Tutorial for Android &#038; iOS Testing<br \/><a href=\"https:\/\/www.guru99.com\/calabash-android-ios-testing.html\" target=\"_blank\">https:\/\/www.guru99.com\/calabash-android-ios-testing.html<\/a><\/li>\n<li>A Beginner\u2019s Guide to Automated Mobile App Testing<br \/><a href=\"https:\/\/blog.testmunk.com\/tutorial-for-automated-mobile-app-testing-calabash\/\" target=\"_blank\">https:\/\/blog.testmunk.com\/tutorial-for-automated-mobile-app-testing-calabash\/<\/a><\/li>\n<li>Calabash Cucumber BDD Test Automation for iOS #1 Intro &#038; Setup<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=kXcsvuwUkKY\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=kXcsvuwUkKY<\/a><\/li>\n<li>Calabash Cucumber BDD Test Automation for iOS #3 Write &#038; Execute<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=OC5J_6qRaRA\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=OC5J_6qRaRA<\/a><\/li>\n<li>calabash iOS automated test<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=N_PI-j6gIck\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=N_PI-j6gIck<\/a><\/li>\n<li>Automation Calabash-ios(Cucumber) &#8211; Iphone [..AzevedoRafaela..]<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=cdV_7uhjSYU\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=cdV_7uhjSYU<\/a><\/li>\n<li>mobile app automation testing with calabash \u2013 writing and executing test cases<br \/><a href=\"https:\/\/www.promactinfo.com\/blog\/mobile-app-automation-testing-with-calabash-writing-and-executing-test-cases\/\" target=\"_blank\">https:\/\/www.promactinfo.com\/blog\/mobile-app-automation-testing-with-calabash-writing-and-executing-test-cases\/<\/a><\/li>\n<li>Using Hiptest and Calabash to test Android Apps<br \/><a href=\"https:\/\/blog.hiptest.net\/2015\/09\/08\/using-hiptest-and-calabash-to-test-android-apps\/\" target=\"_blank\">https:\/\/blog.hiptest.net\/2015\/09\/08\/using-hiptest-and-calabash-to-test-android-apps\/<\/a><\/li>\n<li>An automation approach for native mobile end-to-end testing<br \/><a href=\"https:\/\/www.devbridge.com\/articles\/how-to-embed-automated-native-mobile-application-end-to-end-testing-into-a-continuous-integration-workflow\/\" target=\"_blank\">https:\/\/www.devbridge.com\/articles\/how-to-embed-automated-native-mobile-application-end-to-end-testing-into-a-continuous-integration-workflow\/<\/a><\/li>\n<li>Mobile test automation with Appium and Hiptest<br \/><a href=\"https:\/\/blog.hiptest.net\/2015\/12\/18\/mobile-test-automation-with-appium-and-hiptest\/\" target=\"_blank\">https:\/\/blog.hiptest.net\/2015\/12\/18\/mobile-test-automation-with-appium-and-hiptest\/<\/a><\/li>\n<p><\/p>\n<p><b>APPIUM<\/b><\/p>\n<li>Appium Testing on Physical iOS devices<br \/><a href=\"https:\/\/help.testobject.com\/docs\/guides\/appium-osx-ios\/\" target=\"_blank\">https:\/\/help.testobject.com\/docs\/guides\/appium-osx-ios\/<br \/>\n<\/a><\/li>\n<li>Android &#038; iOS automation using Appium : Getting started<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=InsDgNxWlHM\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=InsDgNxWlHM<\/a><\/li>\n<li>Appium Tutorial-IOS Configuration on mac<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=BULjgsTpw2c\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=BULjgsTpw2c<\/a><\/li>\n<li>Appium Test Demo for IPhone Apps<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=b8uCq7FUG3s\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=b8uCq7FUG3s<\/a><\/li>\n<li>Testing iOS apps with Appium: from setup to first test on OS X<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=meU4TzI3KNM\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=meU4TzI3KNM<\/a><\/li>\n<li>Appium App User Interface<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=cK6_8K3jDhc&#038;index=4&#038;list=PL477l_arYvahKop32SO09ThtoZY6cNHOn\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=cK6_8K3jDhc&#038;index=4&#038;list=PL477l_arYvahKop32SO09ThtoZY6cNHOn<\/a><\/li>\n<li>Xcode Command Line Tools<br \/><a href=\"http:\/\/railsapps.github.io\/xcode-command-line-tools.html\" target=\"_blank\">http:\/\/railsapps.github.io\/xcode-command-line-tools.html<\/a><\/li>\n<li>How to set java_home on mac os X<br \/><a href=\"http:\/\/www.sajeconsultants.com\/how-to-set-java_home-on-mac-os-x\/\" target=\"_blank\">http:\/\/www.sajeconsultants.com\/how-to-set-java_home-on-mac-os-x\/<\/a><\/li>\n<li>Installing the Android Development Environment<br \/><a href=\"https:\/\/spring.io\/guides\/gs\/android\/\" target=\"_blank\">https:\/\/spring.io\/guides\/gs\/android\/<\/a><\/li>\n<li>Setup appium for Android on Mac osx 10.8.5<br \/><a href=\"http:\/\/sqa.stackexchange.com\/questions\/9273\/setup-appium-for-android-on-mac-osx-10-8-5\" target=\"_blank\">http:\/\/sqa.stackexchange.com\/questions\/9273\/setup-appium-for-android-on-mac-osx-10-8-5<\/a><\/li>\n<li>Appium IOS Demo | Configure appium on mac | Appium for beginner | iOS app automation<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=-b0AW22ZhqY\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=-b0AW22ZhqY<\/a><\/li>\n<li>[Webinar] Step-by-Step Mobile Testing: Building Scalable Appium Test Automation Infrastructure<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=cwZrKSGdvrA\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=cwZrKSGdvrA<\/a><\/li>\n<li>appium\/sample-code on github<br \/><a href=\"https:\/\/github.com\/appium\/sample-code\/tree\/master\/sample-code\/examples\" target=\"_blank\">https:\/\/github.com\/appium\/sample-code\/tree\/master\/sample-code\/examples<\/a><\/li>\n<li>Start Automating Native iOS testing with Appium using Node.js<br \/><a href=\"https:\/\/www.built.io\/blog\/2015\/03\/start-automating-native-ios-testing-with-appium-using-node-js\/\" target=\"_blank\">https:\/\/www.built.io\/blog\/2015\/03\/start-automating-native-ios-testing-with-appium-using-node-js\/<\/a><\/li>\n<li>Le site officiel de Appium<br \/><a href=\"http:\/\/appium.io\/\" target=\"_blank\">http:\/\/appium.io\/<\/a><\/li>\n<li>Resource library (videos, webinars, whitepapers and more)<br \/><a href=\"https:\/\/applitools.com\/appium-tutorial-no-sweat-setting-up-and-running-your-first-script\/#anch01\" target=\"_blank\">https:\/\/applitools.com\/appium-tutorial-no-sweat-setting-up-and-running-your-first-script\/#anch01<\/a><\/li>\n<li>Native iOS Automation &#8211; Getting started with appium<br \/><a href=\"http:\/\/appium.io\/slate\/en\/tutorial\/ios.html?ruby#getting-started-with-appium\" target=\"_blank\">http:\/\/appium.io\/slate\/en\/tutorial\/ios.html?ruby#getting-started-with-appium<\/a><\/li>\n<p><b>Few test applications<\/b><\/p>\n<li>ios-uicatalog<br \/><a href=\"https:\/\/github.com\/appium\/ios-uicatalog\" target=\"_blank\">https:\/\/github.com\/appium\/ios-uicatalog<\/a><\/li>\n<li>ios-test-app<br \/><a href=\"https:\/\/github.com\/appium\/ios-test-app\" target=\"_blank\">https:\/\/github.com\/appium\/ios-test-app<\/a><\/li>\n<li>ios-webview-app<br \/><a href=\"https:\/\/github.com\/appium\/ios-webview-app\" target=\"_blank\">https:\/\/github.com\/appium\/ios-webview-app<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>At a certain point when you are making development for mobile, your have to, like for the desktop, to leverage on test automated tool for&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2017\/10\/mobile-testing-using-calabash-or-appium-to-test-your-mobile-applications-on-ios-and-android\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">Mobile, Testing &#8211; Using Calabash or Appium to test your mobile applications on iOS and Android<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":10925,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Automate mobile app testing on iOS and Android with Appium. Keep source code in-house, streamline testing with user-friendly client-side tools.","bf_ai_og_title":"Mobile Testing: Appium vs Calabash","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3442,3447,3435],"tags":[2238,2394,2354,518,31,3508,2395],"class_list":["post-10922","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-devices","category-technology-trends","category-web-development","tag-android","tag-calabash","tag-gherkin","tag-ios","tag-mobile","tag-test-automation","tag-testing"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-2Qa","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2017\/10\/tests_on_mobile_calabash_appium_b.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=10922"}],"version-history":[{"count":5,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10922\/revisions"}],"predecessor-version":[{"id":10930,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10922\/revisions\/10930"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/10925"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=10922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=10922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=10922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}