SlideShare a Scribd company logo
Introduction to Mobile 
Automation 
Presenter: Sitam Jana, Mindfire Solutions
About Me 
Sitam Jana, Software QA Engineer 
Mindfire Solutions 
Skills : WebDriver, Java, JUnit, TestNG, Maven, Oracle 11G, Robotium, Appium, MonkeyRunner 
Certifications : ISTQB Foundation Level, V-Skills Selenium Certified 
Connect Me : 
Facebook : https://www.facebook.com/sitam.jana.9 
LinkedIn : http://www.linkedin.com/pub/sitam-jana/39/444/b12 
Contact Me : 
Email : sitamj@mindfiresolutions.com / sitamjana@gmail.com 
Skype: mfsi_sitamj 
Presenter: Sitam Jana, Mindfire Solutions
Agenda 
 Mobile Application Testing - Brief Discussion 
 Challenges of testing mobile application 
 Mobile Automation - What is it? 
 Tools available in the market 
 Getting started 
 Demo 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Application Testing 
Mobile devices have seen tremendous growth over the past decade. With lots of 
Mobile applications being developed these days, confirming quality has 
become so key to prevent revenue loss, lost productivity and damage to brand 
reputation. A thorough test strategy needs to follow in order to get apps in good 
shape, reach market on time, within budget and to work well across devices, OS 
Distributions : 
 Target Device Selection (Test environment should have a mix of Simulators 
and Real devices) 
 Internet Connectivity (Wi-Fi, Cellular) 
 Test Automation (Reduce effort of Regression by selecting an effective 
automation tool) 
 Different testing aspects (Usability, Performance, Security, Reliability etc.) 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Application Testing 
Compatibility 
Application's compatibility with 
different computing environments 
(hardware peripherals, carriers, 
emulators, screen resolutions etc.) 
Presenter: Sitam Jana, Mindfire Solutions 
Interoperability 
Ability to interact with other system 
(File transfer, sharing, remote 
access etc.)
Challenges 
 Compatibility Testing 
- Testing across Mobile devices (Emulators, Real devices etc.) 
- Testing across OS flavors (Android, iOS, Windows etc.) 
- Testing across networks (Wi-Fi, Cellular etc.) 
- Testing across different Resolutions, Screen sizes 
 Regression Testing 
Before moving updates to Production, doing thorough Regression testing is 
very crucial. Automation is MUST here to reduce efforts, 
time to market and enhance productivity. 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation 
Automation of mobile applications is one of MOST emerging prospect in todays 
Agile world and can provide many advantages: 
 Effieciency of testing process improve as Automation is accurate and work as 
designed 
 Automation tests can be run repeatedly and consistently 
 Remove headache of Regression tests with every release 
 Improved test coverage in shorter time span 
 Resources can be utilized better with Regression being done by Automation and 
advanced testing done by Human QA 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
Key factors in selecting right Mobile automation tools 
 Support for multiple platforms 
List current and future target platforms and ensure tool supports them. 
 Support for blackbox testing 
Ensure tool functions well without having access to application source code 
 Root or Jailbreak requirement 
Tool should work well across device which has not been rooted or jail broken 
 Support for Integration into CI Servers 
Automation Scripts should be able to run from CI servers 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
 Platform Specific Tools (Provided by Mobile OS vendors) 
iOS Instrumentation, MonkeyRunner, UIAutomator 
 Functional Testing Tools 
Robotium, Appium, MonkeyTalk, Selendroid, ios-driver 
 Unit Testing Tools 
Android JUnit, Roboelectric, OCUnit 
 Performance Testing Tools 
NeoLoad, MobiTest 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
iOS Instrumentation 
Developer tool to interact with running processes in iOS and collect data. 
Developed by: Apple Inc. 
Features: 
- Track Keyboard and Mouse events 
- Measure File I/O activity 
- Analyze CPU usage 
- Memory utilization 
- Track Network traffic 
More Info: iOS Instrumentation User Guide 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
MonkeyRunner 
Emulates Android emulators and real devices. 
Developed by: Google Inc. 
Features: 
- Multiple Device Control 
- Can install or uninstall application packages 
- Can capture screen shot of Android device 
- Functional and Regression testing can be done for Android apps 
More Info: MonkeyRunner User Guide 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
UI Automator 
Test UI of Android mobile applications across one or multiple devices. 
Developed by: Google Inc. 
Features: 
- Multiple Device Control 
- Emulate Key events, gestures and screen actions 
- Come Pre-installed with Android SDK 
- Multiple applications can be accessed 
More Info: UI Automator User Guide 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
Robotium 
Android test automation framework developed by Renas Rada and provide full 
support for Native and Hybrid applications. 
Developed by: Robotium Tech 
Features: 
- Can handle multiple Android activities automatically 
- Support for Black-box and White-box test automation 
- Smooth integration with CI servers like Hudson, Jenkins etc. 
- Can be implemented as Maven, ANT etc. 
More Info: Robotium User Guide 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
Appium 
Open source test automation framework to drive native and hybrid mobile 
Applications for both Android and iOS. 
Developed by: Sauce Labs 
Features: 
- Can drive both Android and iOS applications 
- Use Selenium bindings to write tests 
- Smooth integration with CI servers like Hudson, Jenkins etc. 
- Can be implemented as Maven, ANT etc. 
More Info: Appium User Guide 
Presenter: Sitam Jana, Mindfire Solutions
Mobile Automation Tools 
MonkeyTalk 
Open source test automation framework to drive native and hybrid mobile 
Applications, web and Flash applications. 
Developed by: Gorilla Logic 
Features: 
- Can drive both Android and iOS applications 
- Provide Record and Playback tool 
- Smooth integration with CI servers like Hudson, Jenkins etc. 
- Smooth integrations with Cloud servers like Cloud Monkey 
More Info: MonkeyTalk User Guide 
Presenter: Sitam Jana, Mindfire Solutions
Getting Started – Android Automation 
Set up Working Environment 
 Install JDK 
http://www.oracle.com/technetwork/java/javase/downloads/index.html 
 Download Android SDK 
http://developer.android.com/sdk/index.html 
 Setting up Android Virtual Device (Emulator) 
Create new AVD from Android SDK to be able to run Automation tests there. 
 Resign Android application (If needed) and Install under AVD 
Some of the Automation tools require AUT to be resigned in order to communicate. 
 Write Automation scripts and execute them under AVD 
Presenter: Sitam Jana, Mindfire Solutions
Demo - MonkeyRunner 
MonkeyRunner API 
MonkeyRunner API contains 3 modules: 
 MonkeyRunner 
Connects MonkeyRunner to emulator or real device 
 MonkeyDevice 
Represents a Device or emulator. Can install/uninstall application packages, start activity, 
emulate keyboard, touch events. 
 MonkeyImage 
Represents a screen capture image. Capture screen shots, convert bitmap images to various 
formats, write an image to a file, compare two MonkeyImage objects. 
Presenter: Sitam Jana, Mindfire Solutions
MonkeyRunner Sample Code 
# Imports the monkey runner modules used by this program 
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 
from com.android.monkeyrunner.easy import EasyMonkeyDevice 
from com.android.monkeyrunner.easy import By 
# Connects to the current device, returning a MonkeyDevice object 
device = MonkeyRunner.waitForConnection() 
# Install the application package to the device 
device.installPackage('<Path to apk file>') 
# Run the activity on the device 
device.startActivity(component=runComponent) 
# Use the EasyMonkey API 
easyDevice = EasyMonkeyDevice(device) 
Presenter: Sitam Jana, Mindfire Solutions
MonkeyRunner Sample Code 
# Input values into Text box 
textBox = By.id('<textBox ID>') 
easyDevice.type(login, '<text to input>') 
# Press keys 
device.press('<Key name e.g DEL>', MonkeyDevice.DOWN_AND_UP) 
# Click on button 
button = By.id('<button ID>') 
easyDevice.touch(button, MonkeyDevice.DOWN_AND_UP) 
# Take screenshot and writes the screenshot to a file 
TakeScreenshot('<Screenshot destination>', device) 
Presenter: Sitam Jana, Mindfire Solutions
MonkeyRunner – How it works 
 Create a PyDev project under Eclipse 
Need to install PyDev Eclipse plug-in 
 Set Jython Interpreter Preferences for MonkeyRunner 
From Window → Preferences → Interpreter – Jython 
Create New Jython Interpreter: 
Interpreter Name: Give any name e.g. MonkeyRunner 
Interpreter Executable: Locate Jython utility (adt-bundle-windows-x86_ 
64sdktoolslibjython-standalone-x.x.x.jar) 
Create New Libraries for MonkeyRunner: 
Click on 'New Jar/Zip(s)' button and locate MonkeyRunner utility (adt-bundle-windows-x86_ 
64sdktoolslibmonkeyrunner.jar) 
Presenter: Sitam Jana, Mindfire Solutions
MonkeyRunner – How it works 
 Set Project to use configured MonkeyRunner Jython Interpreter 
Right click on Project → Properties → PyDev Interpreter/Grammar 
Project type: Jython 
Interpreter: Select new Interpreter created for MonkeyRunner 
 Create an External Tool Configuration 
From Run → External Tools → External Tools Configurations → New Launch Configuration 
Name: Give any name 
Location: Point MonkeyRunner.bat file (adt-bundle-windows-x86_ 
64sdktoolsmonkeyrunner.bat) 
Working Directory: Browse Workspace and select PyDev project created 
Arguments: Provide full path to the python program (.py) file 
Presenter: Sitam Jana, Mindfire Solutions
Presenter: Sitam Jana, Mindfire Solutions 
References 
 HSC Whitepaper Mobile Test Automation 
 Mobility Whitepaper Mobile Application Testing.pdf 
 Selecting the Right Mobile Test Automation Strategy Challenges and Principles
Question and 
Answer 
Presenter: Sitam Jana, Mindfire Solutions
Thank you 
Presenter: Sitam Jana, Mindfire Solutions
www.mindfiresolutions.com 
https://www.facebook.com/MindfireSolutions 
http://www.linkedin.com/company/mindfire-solutions 
http://twitter.com/mindfires

More Related Content

What's hot (20)

PDF
Mobile Test Automation - Appium
Maria Machlowska
 
PPTX
Mobile Application Testing by Javed Ansari
Javed Ansari
 
PDF
Appium: Automation for Mobile Apps
Sauce Labs
 
PPTX
Mobile Application Testing
SWAAM Tech
 
PPTX
Mobile application testing
Softheme
 
PPT
Test Automation Framework Designs
Sauce Labs
 
PPTX
Mobile Application Testing
Noor Orfahly
 
PPTX
Test Automation Framework with BDD and Cucumber
Rhoynar Software Consulting
 
PPT
Test Automation Strategies For Agile
Naresh Jain
 
PPT
Appium
Deepshikha Singh
 
PPTX
Automation test framework with cucumber – BDD
123abcda
 
PPT
Testing fundamentals
Raviteja Chowdary Adusumalli
 
PPTX
Mobile Application Testing Training Presentation
MobiGnosis
 
PPT
Selenium Automation Framework
Mindfire Solutions
 
PPTX
Automation Testing With Appium
Knoldus Inc.
 
PPT
QSpiders - Automation using Selenium
Qspiders - Software Testing Training Institute
 
PPTX
Mobile Application Testing
Ramakrishna Telapolu
 
PPT
Test automation process
Bharathi Krishnamurthi
 
PPT
Basic Guide to Manual Testing
Hiral Gosani
 
PPTX
Introduction to Automation Testing
Archana Krushnan
 
Mobile Test Automation - Appium
Maria Machlowska
 
Mobile Application Testing by Javed Ansari
Javed Ansari
 
Appium: Automation for Mobile Apps
Sauce Labs
 
Mobile Application Testing
SWAAM Tech
 
Mobile application testing
Softheme
 
Test Automation Framework Designs
Sauce Labs
 
Mobile Application Testing
Noor Orfahly
 
Test Automation Framework with BDD and Cucumber
Rhoynar Software Consulting
 
Test Automation Strategies For Agile
Naresh Jain
 
Automation test framework with cucumber – BDD
123abcda
 
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Mobile Application Testing Training Presentation
MobiGnosis
 
Selenium Automation Framework
Mindfire Solutions
 
Automation Testing With Appium
Knoldus Inc.
 
QSpiders - Automation using Selenium
Qspiders - Software Testing Training Institute
 
Mobile Application Testing
Ramakrishna Telapolu
 
Test automation process
Bharathi Krishnamurthi
 
Basic Guide to Manual Testing
Hiral Gosani
 
Introduction to Automation Testing
Archana Krushnan
 

Viewers also liked (9)

PPTX
18 contoh katalog dan buklet dengan desain inspiratif
badar masbadar
 
PDF
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
 
PDF
NDC 2013 Monkeyrunner를 이용한 모바일 테스트 자동화
ByungJoon Lee
 
PPTX
Explore Security Testing
shwetaupadhyay
 
PPTX
Monkey runner & Monkey testing
SWAAM Tech
 
DOCX
Selenium Testing Project report
Kapil Rajpurohit
 
PDF
Introduction to Test Automation - Technology and Tools
KMS Technology
 
PDF
Patterns in Test Automation
Anand Bagmar
 
PDF
Mobile application testing report
QA Madness
 
18 contoh katalog dan buklet dengan desain inspiratif
badar masbadar
 
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
 
NDC 2013 Monkeyrunner를 이용한 모바일 테스트 자동화
ByungJoon Lee
 
Explore Security Testing
shwetaupadhyay
 
Monkey runner & Monkey testing
SWAAM Tech
 
Selenium Testing Project report
Kapil Rajpurohit
 
Introduction to Test Automation - Technology and Tools
KMS Technology
 
Patterns in Test Automation
Anand Bagmar
 
Mobile application testing report
QA Madness
 
Ad

Similar to Introduction To Mobile-Automation (20)

PPTX
SeeTestAutomation - Mobile Test Automation Tool by Experitest
Experitest
 
PPT
mohit anand
BabuDevanandam
 
PPTX
Automation Proposal_V1.0
Dao Nhỏ
 
PDF
Mobile Automation Framework (MAF).
Mindtree Ltd.
 
PDF
Best Mobile Automation Testing Tools & Frameworks.pdf
kalichargn70th171
 
PPTX
Mobile Application Testing
Shivaraj R
 
PPTX
Mobile Application Testing
Sun Technlogies
 
PPTX
Appium - test automation for mobile apps
Aleksejs Trescalins
 
PDF
Test Automation for Mobile Applications
Ness Digital Engineering
 
PPTX
When & How to Successfully use Test Automation for Mobile Applications
TechnologyAssociationOregon
 
PDF
AnDevCon: Building Automated Android App Tests
Tom Chavez
 
PDF
Top 12 challenges in Mobile Testing
Aspire Systems
 
PDF
2012 java one-con3648
Eing Ong
 
PDF
Mobile test automation overview & tools evaluation
Experitest
 
PDF
Automating Mobile Applications
April Luk
 
PPT
Android automation tools
SSGMCE SHEGAON
 
PDF
Mobile automated testing_erank
Perfecto Mobile
 
PDF
Sub setmobile testing_erank
Perfecto Mobile
 
PPTX
Learning's from mobile testing
Vikrant Chauhan
 
PPT
Mobile applications and automation testing
Dipesh Bhatewara
 
SeeTestAutomation - Mobile Test Automation Tool by Experitest
Experitest
 
mohit anand
BabuDevanandam
 
Automation Proposal_V1.0
Dao Nhỏ
 
Mobile Automation Framework (MAF).
Mindtree Ltd.
 
Best Mobile Automation Testing Tools & Frameworks.pdf
kalichargn70th171
 
Mobile Application Testing
Shivaraj R
 
Mobile Application Testing
Sun Technlogies
 
Appium - test automation for mobile apps
Aleksejs Trescalins
 
Test Automation for Mobile Applications
Ness Digital Engineering
 
When & How to Successfully use Test Automation for Mobile Applications
TechnologyAssociationOregon
 
AnDevCon: Building Automated Android App Tests
Tom Chavez
 
Top 12 challenges in Mobile Testing
Aspire Systems
 
2012 java one-con3648
Eing Ong
 
Mobile test automation overview & tools evaluation
Experitest
 
Automating Mobile Applications
April Luk
 
Android automation tools
SSGMCE SHEGAON
 
Mobile automated testing_erank
Perfecto Mobile
 
Sub setmobile testing_erank
Perfecto Mobile
 
Learning's from mobile testing
Vikrant Chauhan
 
Mobile applications and automation testing
Dipesh Bhatewara
 
Ad

More from Mindfire Solutions (20)

PDF
Physician Search and Review
Mindfire Solutions
 
PDF
diet management app
Mindfire Solutions
 
PDF
Business Technology Solution
Mindfire Solutions
 
PDF
Remote Health Monitoring
Mindfire Solutions
 
PDF
Influencer Marketing Solution
Mindfire Solutions
 
PPT
High Availability of Azure Applications
Mindfire Solutions
 
PPTX
IOT Hands On
Mindfire Solutions
 
PPTX
Glimpse of Loops Vs Set
Mindfire Solutions
 
ODP
Oracle Sql Developer-Getting Started
Mindfire Solutions
 
PPT
Adaptive Layout In iOS 8
Mindfire Solutions
 
PPT
Introduction to Auto-layout : iOS/Mac
Mindfire Solutions
 
PPT
LINQPad - utility Tool
Mindfire Solutions
 
PPT
Get started with watch kit development
Mindfire Solutions
 
PPTX
Swift vs Objective-C
Mindfire Solutions
 
ODP
Material Design in Android
Mindfire Solutions
 
ODP
Introduction to OData
Mindfire Solutions
 
PPT
Ext js Part 2- MVC
Mindfire Solutions
 
PPT
ExtJs Basic Part-1
Mindfire Solutions
 
PPT
Spring Security Introduction
Mindfire Solutions
 
Physician Search and Review
Mindfire Solutions
 
diet management app
Mindfire Solutions
 
Business Technology Solution
Mindfire Solutions
 
Remote Health Monitoring
Mindfire Solutions
 
Influencer Marketing Solution
Mindfire Solutions
 
High Availability of Azure Applications
Mindfire Solutions
 
IOT Hands On
Mindfire Solutions
 
Glimpse of Loops Vs Set
Mindfire Solutions
 
Oracle Sql Developer-Getting Started
Mindfire Solutions
 
Adaptive Layout In iOS 8
Mindfire Solutions
 
Introduction to Auto-layout : iOS/Mac
Mindfire Solutions
 
LINQPad - utility Tool
Mindfire Solutions
 
Get started with watch kit development
Mindfire Solutions
 
Swift vs Objective-C
Mindfire Solutions
 
Material Design in Android
Mindfire Solutions
 
Introduction to OData
Mindfire Solutions
 
Ext js Part 2- MVC
Mindfire Solutions
 
ExtJs Basic Part-1
Mindfire Solutions
 
Spring Security Introduction
Mindfire Solutions
 

Recently uploaded (20)

PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Tally software_Introduction_Presentation
AditiBansal54083
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 

Introduction To Mobile-Automation

  • 1. Introduction to Mobile Automation Presenter: Sitam Jana, Mindfire Solutions
  • 2. About Me Sitam Jana, Software QA Engineer Mindfire Solutions Skills : WebDriver, Java, JUnit, TestNG, Maven, Oracle 11G, Robotium, Appium, MonkeyRunner Certifications : ISTQB Foundation Level, V-Skills Selenium Certified Connect Me : Facebook : https://www.facebook.com/sitam.jana.9 LinkedIn : http://www.linkedin.com/pub/sitam-jana/39/444/b12 Contact Me : Email : [email protected] / [email protected] Skype: mfsi_sitamj Presenter: Sitam Jana, Mindfire Solutions
  • 3. Agenda  Mobile Application Testing - Brief Discussion  Challenges of testing mobile application  Mobile Automation - What is it?  Tools available in the market  Getting started  Demo Presenter: Sitam Jana, Mindfire Solutions
  • 4. Mobile Application Testing Mobile devices have seen tremendous growth over the past decade. With lots of Mobile applications being developed these days, confirming quality has become so key to prevent revenue loss, lost productivity and damage to brand reputation. A thorough test strategy needs to follow in order to get apps in good shape, reach market on time, within budget and to work well across devices, OS Distributions :  Target Device Selection (Test environment should have a mix of Simulators and Real devices)  Internet Connectivity (Wi-Fi, Cellular)  Test Automation (Reduce effort of Regression by selecting an effective automation tool)  Different testing aspects (Usability, Performance, Security, Reliability etc.) Presenter: Sitam Jana, Mindfire Solutions
  • 5. Mobile Application Testing Compatibility Application's compatibility with different computing environments (hardware peripherals, carriers, emulators, screen resolutions etc.) Presenter: Sitam Jana, Mindfire Solutions Interoperability Ability to interact with other system (File transfer, sharing, remote access etc.)
  • 6. Challenges  Compatibility Testing - Testing across Mobile devices (Emulators, Real devices etc.) - Testing across OS flavors (Android, iOS, Windows etc.) - Testing across networks (Wi-Fi, Cellular etc.) - Testing across different Resolutions, Screen sizes  Regression Testing Before moving updates to Production, doing thorough Regression testing is very crucial. Automation is MUST here to reduce efforts, time to market and enhance productivity. Presenter: Sitam Jana, Mindfire Solutions
  • 7. Mobile Automation Automation of mobile applications is one of MOST emerging prospect in todays Agile world and can provide many advantages:  Effieciency of testing process improve as Automation is accurate and work as designed  Automation tests can be run repeatedly and consistently  Remove headache of Regression tests with every release  Improved test coverage in shorter time span  Resources can be utilized better with Regression being done by Automation and advanced testing done by Human QA Presenter: Sitam Jana, Mindfire Solutions
  • 8. Mobile Automation Tools Key factors in selecting right Mobile automation tools  Support for multiple platforms List current and future target platforms and ensure tool supports them.  Support for blackbox testing Ensure tool functions well without having access to application source code  Root or Jailbreak requirement Tool should work well across device which has not been rooted or jail broken  Support for Integration into CI Servers Automation Scripts should be able to run from CI servers Presenter: Sitam Jana, Mindfire Solutions
  • 9. Mobile Automation Tools  Platform Specific Tools (Provided by Mobile OS vendors) iOS Instrumentation, MonkeyRunner, UIAutomator  Functional Testing Tools Robotium, Appium, MonkeyTalk, Selendroid, ios-driver  Unit Testing Tools Android JUnit, Roboelectric, OCUnit  Performance Testing Tools NeoLoad, MobiTest Presenter: Sitam Jana, Mindfire Solutions
  • 10. Mobile Automation Tools iOS Instrumentation Developer tool to interact with running processes in iOS and collect data. Developed by: Apple Inc. Features: - Track Keyboard and Mouse events - Measure File I/O activity - Analyze CPU usage - Memory utilization - Track Network traffic More Info: iOS Instrumentation User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 11. Mobile Automation Tools MonkeyRunner Emulates Android emulators and real devices. Developed by: Google Inc. Features: - Multiple Device Control - Can install or uninstall application packages - Can capture screen shot of Android device - Functional and Regression testing can be done for Android apps More Info: MonkeyRunner User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 12. Mobile Automation Tools UI Automator Test UI of Android mobile applications across one or multiple devices. Developed by: Google Inc. Features: - Multiple Device Control - Emulate Key events, gestures and screen actions - Come Pre-installed with Android SDK - Multiple applications can be accessed More Info: UI Automator User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 13. Mobile Automation Tools Robotium Android test automation framework developed by Renas Rada and provide full support for Native and Hybrid applications. Developed by: Robotium Tech Features: - Can handle multiple Android activities automatically - Support for Black-box and White-box test automation - Smooth integration with CI servers like Hudson, Jenkins etc. - Can be implemented as Maven, ANT etc. More Info: Robotium User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 14. Mobile Automation Tools Appium Open source test automation framework to drive native and hybrid mobile Applications for both Android and iOS. Developed by: Sauce Labs Features: - Can drive both Android and iOS applications - Use Selenium bindings to write tests - Smooth integration with CI servers like Hudson, Jenkins etc. - Can be implemented as Maven, ANT etc. More Info: Appium User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 15. Mobile Automation Tools MonkeyTalk Open source test automation framework to drive native and hybrid mobile Applications, web and Flash applications. Developed by: Gorilla Logic Features: - Can drive both Android and iOS applications - Provide Record and Playback tool - Smooth integration with CI servers like Hudson, Jenkins etc. - Smooth integrations with Cloud servers like Cloud Monkey More Info: MonkeyTalk User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 16. Getting Started – Android Automation Set up Working Environment  Install JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html  Download Android SDK http://developer.android.com/sdk/index.html  Setting up Android Virtual Device (Emulator) Create new AVD from Android SDK to be able to run Automation tests there.  Resign Android application (If needed) and Install under AVD Some of the Automation tools require AUT to be resigned in order to communicate.  Write Automation scripts and execute them under AVD Presenter: Sitam Jana, Mindfire Solutions
  • 17. Demo - MonkeyRunner MonkeyRunner API MonkeyRunner API contains 3 modules:  MonkeyRunner Connects MonkeyRunner to emulator or real device  MonkeyDevice Represents a Device or emulator. Can install/uninstall application packages, start activity, emulate keyboard, touch events.  MonkeyImage Represents a screen capture image. Capture screen shots, convert bitmap images to various formats, write an image to a file, compare two MonkeyImage objects. Presenter: Sitam Jana, Mindfire Solutions
  • 18. MonkeyRunner Sample Code # Imports the monkey runner modules used by this program from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice from com.android.monkeyrunner.easy import EasyMonkeyDevice from com.android.monkeyrunner.easy import By # Connects to the current device, returning a MonkeyDevice object device = MonkeyRunner.waitForConnection() # Install the application package to the device device.installPackage('<Path to apk file>') # Run the activity on the device device.startActivity(component=runComponent) # Use the EasyMonkey API easyDevice = EasyMonkeyDevice(device) Presenter: Sitam Jana, Mindfire Solutions
  • 19. MonkeyRunner Sample Code # Input values into Text box textBox = By.id('<textBox ID>') easyDevice.type(login, '<text to input>') # Press keys device.press('<Key name e.g DEL>', MonkeyDevice.DOWN_AND_UP) # Click on button button = By.id('<button ID>') easyDevice.touch(button, MonkeyDevice.DOWN_AND_UP) # Take screenshot and writes the screenshot to a file TakeScreenshot('<Screenshot destination>', device) Presenter: Sitam Jana, Mindfire Solutions
  • 20. MonkeyRunner – How it works  Create a PyDev project under Eclipse Need to install PyDev Eclipse plug-in  Set Jython Interpreter Preferences for MonkeyRunner From Window → Preferences → Interpreter – Jython Create New Jython Interpreter: Interpreter Name: Give any name e.g. MonkeyRunner Interpreter Executable: Locate Jython utility (adt-bundle-windows-x86_ 64sdktoolslibjython-standalone-x.x.x.jar) Create New Libraries for MonkeyRunner: Click on 'New Jar/Zip(s)' button and locate MonkeyRunner utility (adt-bundle-windows-x86_ 64sdktoolslibmonkeyrunner.jar) Presenter: Sitam Jana, Mindfire Solutions
  • 21. MonkeyRunner – How it works  Set Project to use configured MonkeyRunner Jython Interpreter Right click on Project → Properties → PyDev Interpreter/Grammar Project type: Jython Interpreter: Select new Interpreter created for MonkeyRunner  Create an External Tool Configuration From Run → External Tools → External Tools Configurations → New Launch Configuration Name: Give any name Location: Point MonkeyRunner.bat file (adt-bundle-windows-x86_ 64sdktoolsmonkeyrunner.bat) Working Directory: Browse Workspace and select PyDev project created Arguments: Provide full path to the python program (.py) file Presenter: Sitam Jana, Mindfire Solutions
  • 22. Presenter: Sitam Jana, Mindfire Solutions References  HSC Whitepaper Mobile Test Automation  Mobility Whitepaper Mobile Application Testing.pdf  Selecting the Right Mobile Test Automation Strategy Challenges and Principles
  • 23. Question and Answer Presenter: Sitam Jana, Mindfire Solutions
  • 24. Thank you Presenter: Sitam Jana, Mindfire Solutions