Browse Author: Abdul Shaikh

Working with Calabash

Hi All,

Now we know how to install and run Calabash and its all requirements and prerequisites.

Now let’s see how to work with it.

Open the “calabash-android-0.9.0” folder. It resides at path C:\Ruby23\lib\ruby\gems\2.3.0\gems\calabash-android-0.9.0. The folder names will change in synch with the ruby/ calabash version you install on your machine.

Open the feature skeleton folder. Look out for this basic framework.

  • The *.feature file contains scenarios that we are going to automate.
  • The method used by the feature file is written in *.rb file inside “step_definitions” folder.
  • Common methods, environment setup, app installation and hooks should be placed inside “support” folder.

Resign & Build the app

  • Calabash-android resign *.apk
  • Calabash-android build *.apk

Attach the device to the system /Open the emulator

Check device attached. Type command >>adb devices

Attached devices list should be displayed.

How to Find the Element Locator

  • Open the console. Type the Command.>>calabash android console “APK Path”>>start_test_server_in_background
  • Above command launch the app on the device. To find the element locator use following command.>query “*”

Creating New Scripts

Open the feature file and following lines

Feature: Login feature
 Scenario: As a valid user I can log into my app
 When I press "Login"
 And I enter my username 
 And I enter my password
 Then I see "Welcome to coolest app ever"

Open the Step Definition file & Define the method into *.rb file.

Given /^I am on the login windows$/ do
 wait_for(:timeout =>100) { element_exists("* id:'loginInput;")}
 check_element_exists("* id:'loginInput;")
end.
Now you can automate your UI testing using the Calabash.

Automation testing Using Calabash

Calabash is one framework that enables automated UI Acceptance Tests written in Cucumber to be run on iOS and Android applications. While Calabash integrates tightly with Xamarin.iOS and Xamarin. Android project, it can also be used with iOS and Android projects written in the indigenous languages of Objective-C and Java.

Calabash is an open source Acceptance Testing framework that allows you to write and execute tests for iOS and Android Apps. It’s an Automated User Interface Framework that allows tests to be written in Ruby using Cucumber. Calabash works by enabling automatic UI interactions within an application such as pressing buttons, inputting text, validating responses, etc. It can be configured to run on different Android and iOS devices, which provides real-time feedback and validations.

Calabash and BDD

  • Calabash is Behavior Driven Development (BDD). It is same as Test Driven Development (TDD), but instead of creating tests to describe the shape of APIs, application behavior is specified.
  • BDD is a process in which multiple stakeholders weigh in to create a common understanding of what has to be built.
  • BDD is helpful in building the right software and designing from the perspective of the business owner.

How to install Calabash

Part I) Install Java JDK – Refer this guide – /install-java.html

Part II) Download and install Ruby.

Step 1) Download Ruby from the URL http://rubyinstaller.org/downloads

Step 2) Open the exe, follow the instructions on screen. Once install is complete you will see the following screen. Click Finish.

Step 3) Verify whether Ruby is installed successfully

  • Start Command Prompt with Ruby on Windows 10
  • Type ruby –v

Part III) Download and install Android

Step 1) Download Android Studio at http://developer.android.com/sdk/index.html

Step 2) Open the exe, follow the on-screen instructions and complete installation. Click the finish button once done

Part IV) Install Calabash Android

Step 1) In the console type install calabash-android. Install will start and will take some time to complete

Step 2) Once installation is done Type calabash-android version 

if if shows calabash-android -0.9.0 then you have successfully installed calabash.