Three-tier Mobile Application Testing Framework:
description
Transcript of Three-tier Mobile Application Testing Framework:
![Page 1: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/1.jpg)
Three-tier Mobile Application Testing Framework:
1
![Page 2: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/2.jpg)
Tools available in market
• Robotium• Fonemonkey• See Test• Test studio• Calabash• Keynote• Eggplant• Appium / Selenium
And many more…
2
![Page 3: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/3.jpg)
What’s Calabash
A cross platform mobile automation testing tool for Android and iOS platforms
![Page 4: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/4.jpg)
Technology
• Calabash Cucumber framework• Ruby development kit• Android SDK
![Page 5: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/5.jpg)
Cucumber
• Cucumber is a tool for running automated acceptance tests written in a behavior-driven development (BDD) style
![Page 6: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/6.jpg)
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”.
![Page 7: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/7.jpg)
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.
![Page 8: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/8.jpg)
Steps – Configure A Device
![Page 9: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/9.jpg)
Steps – Configure an Emulator
![Page 10: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/10.jpg)
Feature files and step definitions Feature: Register featureScenario: As a user I can Register into my appGiven I am about to RegisterAnd i enter login credentialsThen I press "Login“
Step definition :Given /^I am about to Register$/ doscreenshot_embed(:label => "Register") endWhen /^i enter login credentials$/ doquery("* id:'Username'",{:setText => “test"})query("* id:'Password'",{:setText =>“test"})end
![Page 11: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/11.jpg)
Calabash Android Architecture
![Page 12: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/12.jpg)
Calabash IOS Architecture
![Page 13: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/13.jpg)
Generating Cucumber files
Calabash-android gen Will generate feature
![Page 14: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/14.jpg)
Re-signing the app
Re-sign application with new signature
![Page 15: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/15.jpg)
Calabash console
• Creates test server
![Page 16: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/16.jpg)
Calabash Run
• Connects to the device/emulator and runs the automation script
![Page 17: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/17.jpg)
Test reporting
calabash-android run (path-to-apk )--format html --out reports.html will output the test report in the HTML format
![Page 18: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/18.jpg)
DEMO
![Page 19: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/19.jpg)
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
19
![Page 20: Three-tier Mobile Application Testing Framework:](https://reader036.fdocuments.us/reader036/viewer/2022062501/56816387550346895dd474f8/html5/thumbnails/20.jpg)
Scenarios - yet to be tried
• Flash content on a browser based app• Recording test scenario provision