SlideShare a Scribd company logo
Calabash
What is Calabash?
●Calabash is a functional testing tool for
mobile apps
●It is based on Cucumber which means a
Behavior-Driven Development (BDD)
language is used to write the steps.
Cucumber?
Yes, Cucumber.
●Cucumber is the world’s most popular open
source BDD tool and it’s completely free
●Cucumber lets you express the behavior of
your app using natural language that can be
understood by business experts and non-
technical staff
Behavior Driven Development
●BDD emerged from TDD
●It is an approach to Unit Testing and
Acceptance Testing dealing with how they
are used.
●Acceptance tests should be written using
standard AGILE framework of a User Story:
●Acceptance Criteria should be written in
terms of scenarios and implemented as
classes: Given - When - Then
●Example:
Back to our pickles...
●Being based on Cucumber, Calabash uses
Gherkin, a BDD language that it
understands.
●Calabash consists of libraries that enable
test-code to programmatically interact with
native and hybrid apps. The interaction
consists of a number of end-user actions.
What can the pickles do?
Each action can be:
●Gestures: Touches or gestures (e.g., tap,
swipe and rotate).
●Assertions: For example: there should be a
"Login" button or the web view should
contain an "<h1>" element with the text
"Hello".
●Screenshots: screendump the current view
on the current device model
How does it work?
●When a Calabash test is executed both your
local computer and a device is involved.
●The device might be an emulator or an
actual physical device.
What does it need?
●Features: The feature files describe the
user-stories you want to test. One or more
features can be tested in one run.
●Example:
●Step Definitions: Calabash comes with a
set of predefined step which you can find
here.
●These steps are generic and made to get
you up and running fast.
● Sometimes, just writing steps in Gherkin language is
not enough. In that case, scripts are created for the
necessary steps to be successfully run. By default,
Ruby is the language of choice.
●Your app: you don’t have to make
modifications to your app before testing it but
for more complex scenarios where scripts
are required for the successful interpretation
of the steps it is good practice to have some
helper tags in the code.
●Instrumentation Test Server: This is
another app that will be installed and
executed on the device. It is automatically
generated and pushed to the device by the
Calabash framework.
●It provides communication between the
Calabash framework and the app that needs
to be tested.
That’s all folks!

More Related Content

What's hot

BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
Srinivas Katakam
 
Node & Express as Workflow Tools
Node & Express as Workflow ToolsNode & Express as Workflow Tools
Node & Express as Workflow Tools
FITC
 
Gatling Performance Workshop
Gatling Performance WorkshopGatling Performance Workshop
Gatling Performance Workshop
Sai Krishna
 
Interview with Issam Lahlali, one of the CppDepend tool creators
Interview with Issam Lahlali, one of the CppDepend tool creatorsInterview with Issam Lahlali, one of the CppDepend tool creators
Interview with Issam Lahlali, one of the CppDepend tool creators
PVS-Studio
 
Integrating react in django while staying sane and happy
Integrating react in django while staying sane and happyIntegrating react in django while staying sane and happy
Integrating react in django while staying sane and happy
Fröjd Interactive
 
Webinar: How to Use Integrated Version Control in Rasa X
Webinar: How to Use Integrated Version Control in Rasa XWebinar: How to Use Integrated Version Control in Rasa X
Webinar: How to Use Integrated Version Control in Rasa X
Rasa Technologies
 
It's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspec
Giulio De Donato
 
Presentation # 4
Presentation # 4Presentation # 4
Presentation # 4
s1150149
 
BDD in PHP - Behat
BDD in PHP - BehatBDD in PHP - Behat
BDD in PHP - Behat
Łukasz Kużyński
 
Capistrano @ VilniusPHP
Capistrano @ VilniusPHPCapistrano @ VilniusPHP
Capistrano @ VilniusPHP
Vidmantas Kabošis
 
DevOps Toolchain v1.0
DevOps Toolchain v1.0DevOps Toolchain v1.0
DevOps Toolchain v1.0
Giragadurai Vallirajan
 
Developing for Developers
Developing for DevelopersDeveloping for Developers
Developing for Developers
Francois Zaninotto
 
A Whale and an Elephant, when PHP meets docker
A Whale and an Elephant, when PHP meets dockerA Whale and an Elephant, when PHP meets docker
A Whale and an Elephant, when PHP meets docker
🤓 Steve McDougall
 
Continuous Testing With Terraform
Continuous Testing With TerraformContinuous Testing With Terraform
Continuous Testing With Terraform
Julio Aziz Flores Casab
 
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Paulo Clavijo
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 
How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...
Marcos Entenza Garcia
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
Knoldus Inc.
 
Bdd Net Frameworks
Bdd Net FrameworksBdd Net Frameworks
Bdd Net Frameworks
hdgarcia
 

What's hot (19)

BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
 
Node & Express as Workflow Tools
Node & Express as Workflow ToolsNode & Express as Workflow Tools
Node & Express as Workflow Tools
 
Gatling Performance Workshop
Gatling Performance WorkshopGatling Performance Workshop
Gatling Performance Workshop
 
Interview with Issam Lahlali, one of the CppDepend tool creators
Interview with Issam Lahlali, one of the CppDepend tool creatorsInterview with Issam Lahlali, one of the CppDepend tool creators
Interview with Issam Lahlali, one of the CppDepend tool creators
 
Integrating react in django while staying sane and happy
Integrating react in django while staying sane and happyIntegrating react in django while staying sane and happy
Integrating react in django while staying sane and happy
 
Webinar: How to Use Integrated Version Control in Rasa X
Webinar: How to Use Integrated Version Control in Rasa XWebinar: How to Use Integrated Version Control in Rasa X
Webinar: How to Use Integrated Version Control in Rasa X
 
It's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspec
 
Presentation # 4
Presentation # 4Presentation # 4
Presentation # 4
 
BDD in PHP - Behat
BDD in PHP - BehatBDD in PHP - Behat
BDD in PHP - Behat
 
Capistrano @ VilniusPHP
Capistrano @ VilniusPHPCapistrano @ VilniusPHP
Capistrano @ VilniusPHP
 
DevOps Toolchain v1.0
DevOps Toolchain v1.0DevOps Toolchain v1.0
DevOps Toolchain v1.0
 
Developing for Developers
Developing for DevelopersDeveloping for Developers
Developing for Developers
 
A Whale and an Elephant, when PHP meets docker
A Whale and an Elephant, when PHP meets dockerA Whale and an Elephant, when PHP meets docker
A Whale and an Elephant, when PHP meets docker
 
Continuous Testing With Terraform
Continuous Testing With TerraformContinuous Testing With Terraform
Continuous Testing With Terraform
 
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
Bdd Net Frameworks
Bdd Net FrameworksBdd Net Frameworks
Bdd Net Frameworks
 

Viewers also liked

Перелік захисних споруд цивільного захисту
Перелік захисних споруд цивільного захистуПерелік захисних споруд цивільного захисту
Перелік захисних споруд цивільного захисту
mynizhyn
 
Hoe valt jouw e-mail op tussen alle andere e-mails | Suraj Sanchit
Hoe valt jouw e-mail op tussen alle andere e-mails | Suraj SanchitHoe valt jouw e-mail op tussen alle andere e-mails | Suraj Sanchit
Hoe valt jouw e-mail op tussen alle andere e-mails | Suraj Sanchit
Gracious Studios
 
Програма Смаль В.
Програма Смаль В.Програма Смаль В.
Програма Смаль В.
mynizhyn
 
أسوار المتحدة (2)
أسوار المتحدة (2)أسوار المتحدة (2)
أسوار المتحدة (2)Dania gad
 
2015 Global-Survery-Report
2015 Global-Survery-Report2015 Global-Survery-Report
2015 Global-Survery-Report
Cornerstone India
 
Đối tượng nào dễ bị rối loạn mỡ máu
Đối tượng nào dễ bị rối loạn mỡ máuĐối tượng nào dễ bị rối loạn mỡ máu
Đối tượng nào dễ bị rối loạn mỡ máujake297
 
sdasdfgsd
sdasdfgsdsdasdfgsd
sdasdfgsd
Dania gad
 
Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...
Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...
Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...
Gracious Studios
 
القوات الجوية 2
القوات الجوية 2القوات الجوية 2
القوات الجوية 2Dania gad
 
Hogere conversie door één op één communicatie op grote schaal | Zakaria Amlal
Hogere conversie door één op één communicatie op grote schaal | Zakaria AmlalHogere conversie door één op één communicatie op grote schaal | Zakaria Amlal
Hogere conversie door één op één communicatie op grote schaal | Zakaria Amlal
Gracious Studios
 

Viewers also liked (10)

Перелік захисних споруд цивільного захисту
Перелік захисних споруд цивільного захистуПерелік захисних споруд цивільного захисту
Перелік захисних споруд цивільного захисту
 
Hoe valt jouw e-mail op tussen alle andere e-mails | Suraj Sanchit
Hoe valt jouw e-mail op tussen alle andere e-mails | Suraj SanchitHoe valt jouw e-mail op tussen alle andere e-mails | Suraj Sanchit
Hoe valt jouw e-mail op tussen alle andere e-mails | Suraj Sanchit
 
Програма Смаль В.
Програма Смаль В.Програма Смаль В.
Програма Смаль В.
 
أسوار المتحدة (2)
أسوار المتحدة (2)أسوار المتحدة (2)
أسوار المتحدة (2)
 
2015 Global-Survery-Report
2015 Global-Survery-Report2015 Global-Survery-Report
2015 Global-Survery-Report
 
Đối tượng nào dễ bị rối loạn mỡ máu
Đối tượng nào dễ bị rối loạn mỡ máuĐối tượng nào dễ bị rối loạn mỡ máu
Đối tượng nào dễ bị rối loạn mỡ máu
 
sdasdfgsd
sdasdfgsdsdasdfgsd
sdasdfgsd
 
Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...
Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...
Zakaria Amlal | Verhoog conversie uit e-mail met big data | Webwinkel Vakdage...
 
القوات الجوية 2
القوات الجوية 2القوات الجوية 2
القوات الجوية 2
 
Hogere conversie door één op één communicatie op grote schaal | Zakaria Amlal
Hogere conversie door één op één communicatie op grote schaal | Zakaria AmlalHogere conversie door één op één communicatie op grote schaal | Zakaria Amlal
Hogere conversie door één op één communicatie op grote schaal | Zakaria Amlal
 

Similar to Calabash Mobile Application Testing Overview

BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
Knoldus Inc.
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
flufftailshop
 
Code coverage
Code coverageCode coverage
Code coverage
kimsrung lov
 
Automated Testing in Angular Slides
Automated Testing in Angular SlidesAutomated Testing in Angular Slides
Automated Testing in Angular Slides
Jim Lynch
 
Cucumber presenation
Cucumber presenationCucumber presenation
Cucumber presenation
Oussama BEN WAFI
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
Alex Baitov
 
Step by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For BeginnersStep by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For Beginners
calltutors
 
Why JAVA is Best
Why JAVA is BestWhy JAVA is Best
Why JAVA is Best
Sher Singh Bardhan
 
Why golang
Why golangWhy golang
Behavior driven development
Behavior driven developmentBehavior driven development
Behavior driven development
Extremia
 
Introducing BDD and TDD with Cucumber
Introducing BDD and TDD with CucumberIntroducing BDD and TDD with Cucumber
Introducing BDD and TDD with Cucumber
Knoldus Inc.
 
TorontoRb Intro to BDD
TorontoRb   Intro to BDDTorontoRb   Intro to BDD
TorontoRb Intro to BDD
nunick
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
William Grosso
 
What Is Cucumber?
What Is Cucumber?What Is Cucumber?
What Is Cucumber?
QATestLab
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
selvanathankapilan
 
Testing with cucumber testing framework
Testing with cucumber testing frameworkTesting with cucumber testing framework
Testing with cucumber testing framework
AIMDek Technologies
 
Spec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlowSpec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlow
Sarah Dutkiewicz
 
cucumber harpal.pdf
cucumber harpal.pdfcucumber harpal.pdf
cucumber harpal.pdf
VennelaVasupilli
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
Arnaud LEMAIRE
 
Go programming language
Go programming languageGo programming language
Go programming language
GoWitek Consulting Pvt.Ltd
 

Similar to Calabash Mobile Application Testing Overview (20)

BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
 
Code coverage
Code coverageCode coverage
Code coverage
 
Automated Testing in Angular Slides
Automated Testing in Angular SlidesAutomated Testing in Angular Slides
Automated Testing in Angular Slides
 
Cucumber presenation
Cucumber presenationCucumber presenation
Cucumber presenation
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Step by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For BeginnersStep by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For Beginners
 
Why JAVA is Best
Why JAVA is BestWhy JAVA is Best
Why JAVA is Best
 
Why golang
Why golangWhy golang
Why golang
 
Behavior driven development
Behavior driven developmentBehavior driven development
Behavior driven development
 
Introducing BDD and TDD with Cucumber
Introducing BDD and TDD with CucumberIntroducing BDD and TDD with Cucumber
Introducing BDD and TDD with Cucumber
 
TorontoRb Intro to BDD
TorontoRb   Intro to BDDTorontoRb   Intro to BDD
TorontoRb Intro to BDD
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
What Is Cucumber?
What Is Cucumber?What Is Cucumber?
What Is Cucumber?
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
 
Testing with cucumber testing framework
Testing with cucumber testing frameworkTesting with cucumber testing framework
Testing with cucumber testing framework
 
Spec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlowSpec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlow
 
cucumber harpal.pdf
cucumber harpal.pdfcucumber harpal.pdf
cucumber harpal.pdf
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
 
Go programming language
Go programming languageGo programming language
Go programming language
 

Recently uploaded

Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Codeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdfCodeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdf
Semiosis Software Private Limited
 

Recently uploaded (20)

Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Codeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdfCodeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdf
 

Calabash Mobile Application Testing Overview

  • 2. What is Calabash? ●Calabash is a functional testing tool for mobile apps ●It is based on Cucumber which means a Behavior-Driven Development (BDD) language is used to write the steps.
  • 4. Yes, Cucumber. ●Cucumber is the world’s most popular open source BDD tool and it’s completely free ●Cucumber lets you express the behavior of your app using natural language that can be understood by business experts and non- technical staff
  • 5. Behavior Driven Development ●BDD emerged from TDD ●It is an approach to Unit Testing and Acceptance Testing dealing with how they are used. ●Acceptance tests should be written using standard AGILE framework of a User Story:
  • 6. ●Acceptance Criteria should be written in terms of scenarios and implemented as classes: Given - When - Then ●Example:
  • 7. Back to our pickles... ●Being based on Cucumber, Calabash uses Gherkin, a BDD language that it understands.
  • 8. ●Calabash consists of libraries that enable test-code to programmatically interact with native and hybrid apps. The interaction consists of a number of end-user actions. What can the pickles do?
  • 9. Each action can be: ●Gestures: Touches or gestures (e.g., tap, swipe and rotate). ●Assertions: For example: there should be a "Login" button or the web view should contain an "<h1>" element with the text "Hello". ●Screenshots: screendump the current view on the current device model
  • 10. How does it work? ●When a Calabash test is executed both your local computer and a device is involved. ●The device might be an emulator or an actual physical device.
  • 11. What does it need? ●Features: The feature files describe the user-stories you want to test. One or more features can be tested in one run. ●Example:
  • 12. ●Step Definitions: Calabash comes with a set of predefined step which you can find here. ●These steps are generic and made to get you up and running fast.
  • 13. ● Sometimes, just writing steps in Gherkin language is not enough. In that case, scripts are created for the necessary steps to be successfully run. By default, Ruby is the language of choice.
  • 14. ●Your app: you don’t have to make modifications to your app before testing it but for more complex scenarios where scripts are required for the successful interpretation of the steps it is good practice to have some helper tags in the code.
  • 15. ●Instrumentation Test Server: This is another app that will be installed and executed on the device. It is automatically generated and pushed to the device by the Calabash framework. ●It provides communication between the Calabash framework and the app that needs to be tested.

Editor's Notes

  1. *Gherkin is also a pickle.