210 likes | 557 Views
Three-tier Mobile Application Testing Framework:. Tools available in market. Robotium Fonemonkey See Test Test studio Calabash Keynote Eggplant Appium / Selenium And many more…. What’s Calabash. A cross platform mobile automation testing tool for Android and iOS platforms.
E N D
Tools available in market • Robotium • Fonemonkey • See Test • Test studio • Calabash • Keynote • Eggplant • Appium / Selenium And many more…
What’s Calabash A cross platform mobile automation testing tool for Android and iOS platforms
Technology • Calabash Cucumber framework • Ruby development kit • Android SDK
Cucumber • Cucumber is a tool for running automated acceptance tests written in a behavior-driven development (BDD) style
Advantages • Open-Source Tool . • Cross platform support • write once run anywhere (IOS and Android)Based on the Cucumber framework • Supports both devices and emulators. • Provides simple language for a non programmer to write test scripts • library Support for all the basic events and movements on the mobile • Supports Native/Hybrid apps ,browser based apps • thriving forum and Google Group: “Calabash Android”.
Comparative analysis • Real device support which most of the tools doesn't support. • Source code is not a must. • Alert box and toast notifications can be automated which cannot be achieved by other tools.
Feature files and step definitions Feature: Register feature Scenario: As a user I can Register into my app Given I am about to Register And i enter login credentials Then I press "Login“ Step definition : Given /^I am about to Register$/ do screenshot_embed(:label => "Register") end When /^i enter login credentials$/ do query("* id:'Username'",{:setText => “test"}) query("* id:'Password'",{:setText =>“test"}) end
Generating Cucumber files Calabash-android gen Will generate feature
Re-signing the app Re-sign application with new signature
Calabash console • Creates test server
Calabash Run • Connects to the device/emulator and runs the automation script
Test reporting calabash-android run (path-to-apk )--format html --out reports.html will output the test report in the HTML format
Limitations • Slower execution time- on both emulator or device • always installs the app first before starting each scenario. • If a step fails then the subsequent tests in the scenario are skipped. • still in its nascent stage. complex scenario library support is currently not available. • Need to code your way in Ruby. • Need the source code of the app for identifying the ids of various elements. • Browser based apps can be tested with web-view only • ID capture is missed sometimes due to faster script execution
Scenarios - yet to be tried • Flash content on a browser based app • Recording test scenario provision