SlideShare a Scribd company logo
CALABASH –A Functional Testing Tool for Android and iOS
What is Calabash: Calabash is an open source functional testing tool for Android
and iOS mobile apps developed by LessPainful. Its based on Cucumber.
Calabash contains two low level libraries:
1) Calabash iOS
2) Calabash Android
These two libraries enable Cucumber tool to automate the test cases in very easy
understandable language.
One sample test case is written below:
Feature: Rating a stand
Scenario: Find and rate a stand from the list
Given I am on the List
Then I should see a "rating" button
And I should not see "Dixie Burger & Gumbo Soup"
And take picture
Then I touch the "rating" button
And I should see "Dixie Burger & Gumbo Soup"
And take picture
When I touch "Dixie Burger & Gumbo Soup"
Then I should see details for "Dixie Burger & Gumbo Soup"
When I touch the "rate_it" button
Then I should see the rating panel
Then I touch "star5"
And I touch "rate"
And take picture
This test specification file is called feature file in Calabash and Cucumber. This
feature file describes the intended behavior of the app. Each line after Scenario is
called step.
In Calabash a step does one of three actions:
1) Makes a User action( e.g. touch, swipe, scroll etc)
2) Makes an assertion (e.g. I touch the button, I should see details etc)
3) Takes screen shots.
Overview of Calabash:
1) Calabash – iOS: It consists of two parts----
a) Client library written in Ruby
b) Calabash.framework, a server framework written in Objective – C
To use Calabash we make an special test target in XCode that links with
calabash.framework. The server framework starts HTTP server inside the
app that listens to requests from the client library.
The Cucumber tool executes the feature file that represents the intended
behavior of the App under test. The feature file contains steps either in
predefined or custom (user defined) step definitions.
Below is the illustration:
2) Calabash- Android: The set up illustration for Calabash- Android looks like
this:
Features: The feature file is written in Cucumber and it describes the user
stories we want to test. In other words it contains the steps for intended
behavior of the app.
Step Definitions: Calabash Android comes with a set of predefined steps
that allows us to run the test faster and it also has the facility of providing
the custom (user defined) steps.
We don’t need to make any modifications to our app before we test it.
Intrumentation Test Server: This is another app that will be installed and
executed into the device. This app is based on
ActivityInstrumentationTestCase2 from the Android SDK. It is generated by
the Android Calabash framework.
In features file we can add either predefined steps given by LessPainful if those
satisfy our app intended behavior or can go after customized steps.
Predefined steps are separately available for Calabash iOS and Calabash Android
based on Cucumber.
Calabash has got advantage over other existing performance testing tools for it
being easy to be implemented with its Cucumber behavioral steps in features file.
Prepared by : Farhan Sumbul, CoConnect.

More Related Content

PPTX
Calabash for iPhone apps
PDF
Calabash Andoird + Calabash iOS
PDF
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
PPTX
Calabash-android
PDF
Automated UI test on mobile - with Cucumber/Calabash
PPTX
Mobile Automation with Appium
PPTX
Mobile WebDriver Selendroid
PDF
Getting started with appium
Calabash for iPhone apps
Calabash Andoird + Calabash iOS
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
Calabash-android
Automated UI test on mobile - with Cucumber/Calabash
Mobile Automation with Appium
Mobile WebDriver Selendroid
Getting started with appium

What's hot (20)

PPTX
Selendroid - Selenium for Android
PPTX
Android Automation Testing with Selendroid
PDF
Test Driven Development - Workshop
PPTX
Selendroid in Action
PPTX
Mobile Test Automation at eBay
PPTX
Automation testing on ios platform using appium
PDF
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
PPTX
Android Test Automation – one year later
PPT
Nakal think test_2015
PPTX
Espresso workshop
PDF
Mobile test automation with Selenium, Selendroid and ios-driver
PDF
Exposing Salesforce REST Services Using Swagger
PPTX
Appium Meetup #2 - Mobile Web Automation Introduction
PDF
Selenium Testing on Chrome - Google DevFest Armenia 2015
PPTX
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
PDF
Meet the Forge Runtime
PDF
Espresso testing
PDF
[Srijan Wednesday Webinars] Building a High Performance QA Team
PDF
Automated UI Testing Frameworks
PPTX
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
Selendroid - Selenium for Android
Android Automation Testing with Selendroid
Test Driven Development - Workshop
Selendroid in Action
Mobile Test Automation at eBay
Automation testing on ios platform using appium
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
Android Test Automation – one year later
Nakal think test_2015
Espresso workshop
Mobile test automation with Selenium, Selendroid and ios-driver
Exposing Salesforce REST Services Using Swagger
Appium Meetup #2 - Mobile Web Automation Introduction
Selenium Testing on Chrome - Google DevFest Armenia 2015
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Meet the Forge Runtime
Espresso testing
[Srijan Wednesday Webinars] Building a High Performance QA Team
Automated UI Testing Frameworks
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
Ad

Viewers also liked (9)

PDF
Calabash - Karl and Jonas
PDF
Automation Testing: using Cucumber + Calabash on Android Apps
PDF
Calabash, an open-source automated testing technology for native mobile, by K...
PDF
Calabash
PDF
MonkeyTalk Documentation
PDF
Mobile automation – should I use robotium or calabash or appium?
PPTX
Choosing the Best Open Source Test Automation Tool for You
PPT
MonkeyTalk Automation Testing For Android Application
PDF
Behavior Driven Development and Automation Testing Using Cucumber
Calabash - Karl and Jonas
Automation Testing: using Cucumber + Calabash on Android Apps
Calabash, an open-source automated testing technology for native mobile, by K...
Calabash
MonkeyTalk Documentation
Mobile automation – should I use robotium or calabash or appium?
Choosing the Best Open Source Test Automation Tool for You
MonkeyTalk Automation Testing For Android Application
Behavior Driven Development and Automation Testing Using Cucumber
Ad

Similar to Calabash my understanding (20)

PPTX
Calabash Mobile App Automated Testing Framework
PPTX
Calabash Mobile Application Testing Overview
PPTX
Testdroid:
PPT
Android testing calabash
PPTX
Test automation
PPTX
Cucumber - Maria Machlowska
PPT
Calabash automated test
PPTX
Cross Platform Mobile Automation with Calabash on Cloud and More
PDF
DEPLOYMENT OF CALABASH AUTOMATION FRAMEWORK TO ANALYZE THE PERFORMANCE OF AN ...
PPTX
eGo meetup - Сalabash in mobile automated testing
PDF
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
PDF
Behavior driven development with calabash for android
PDF
iOS Automation Frameworks evaluation
PPTX
I, For One, Welcome Our New Robot Overlords
PDF
Popular Tools For Mobile App Testing, Their Features, And Suitability For Dif...
PDF
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
PPT
COMAQA Conf #2. Никита Мещаненко. Xamarin test cloud
PDF
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
PPTX
Calabash
Calabash Mobile App Automated Testing Framework
Calabash Mobile Application Testing Overview
Testdroid:
Android testing calabash
Test automation
Cucumber - Maria Machlowska
Calabash automated test
Cross Platform Mobile Automation with Calabash on Cloud and More
DEPLOYMENT OF CALABASH AUTOMATION FRAMEWORK TO ANALYZE THE PERFORMANCE OF AN ...
eGo meetup - Сalabash in mobile automated testing
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
Behavior driven development with calabash for android
iOS Automation Frameworks evaluation
I, For One, Welcome Our New Robot Overlords
Popular Tools For Mobile App Testing, Their Features, And Suitability For Dif...
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
COMAQA Conf #2. Никита Мещаненко. Xamarin test cloud
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
Calabash

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
A Presentation on Artificial Intelligence
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Modernizing your data center with Dell and AMD
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
A Presentation on Artificial Intelligence
Mobile App Security Testing_ A Comprehensive Guide.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Understanding_Digital_Forensics_Presentation.pptx
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Modernizing your data center with Dell and AMD
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Big Data Technologies - Introduction.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Monthly Chronicles - July 2025

Calabash my understanding

  • 1. CALABASH –A Functional Testing Tool for Android and iOS What is Calabash: Calabash is an open source functional testing tool for Android and iOS mobile apps developed by LessPainful. Its based on Cucumber. Calabash contains two low level libraries: 1) Calabash iOS 2) Calabash Android These two libraries enable Cucumber tool to automate the test cases in very easy understandable language. One sample test case is written below: Feature: Rating a stand Scenario: Find and rate a stand from the list Given I am on the List Then I should see a "rating" button And I should not see "Dixie Burger & Gumbo Soup" And take picture Then I touch the "rating" button And I should see "Dixie Burger & Gumbo Soup" And take picture When I touch "Dixie Burger & Gumbo Soup" Then I should see details for "Dixie Burger & Gumbo Soup" When I touch the "rate_it" button Then I should see the rating panel Then I touch "star5" And I touch "rate" And take picture This test specification file is called feature file in Calabash and Cucumber. This feature file describes the intended behavior of the app. Each line after Scenario is called step. In Calabash a step does one of three actions:
  • 2. 1) Makes a User action( e.g. touch, swipe, scroll etc) 2) Makes an assertion (e.g. I touch the button, I should see details etc) 3) Takes screen shots. Overview of Calabash: 1) Calabash – iOS: It consists of two parts---- a) Client library written in Ruby b) Calabash.framework, a server framework written in Objective – C To use Calabash we make an special test target in XCode that links with calabash.framework. The server framework starts HTTP server inside the app that listens to requests from the client library. The Cucumber tool executes the feature file that represents the intended behavior of the App under test. The feature file contains steps either in predefined or custom (user defined) step definitions. Below is the illustration:
  • 3. 2) Calabash- Android: The set up illustration for Calabash- Android looks like this: Features: The feature file is written in Cucumber and it describes the user stories we want to test. In other words it contains the steps for intended behavior of the app. Step Definitions: Calabash Android comes with a set of predefined steps that allows us to run the test faster and it also has the facility of providing the custom (user defined) steps. We don’t need to make any modifications to our app before we test it. Intrumentation Test Server: This is another app that will be installed and executed into the device. This app is based on ActivityInstrumentationTestCase2 from the Android SDK. It is generated by the Android Calabash framework.
  • 4. In features file we can add either predefined steps given by LessPainful if those satisfy our app intended behavior or can go after customized steps. Predefined steps are separately available for Calabash iOS and Calabash Android based on Cucumber. Calabash has got advantage over other existing performance testing tools for it being easy to be implemented with its Cucumber behavioral steps in features file. Prepared by : Farhan Sumbul, CoConnect.