Enabling Mobile Automation Testing using Open Source Tools

Similar documents
13 th Annual International Software Testing Conference Paper on

(Refer Slide Time: 1:07)

Configure Eclipse with Selenium Webdriver

Class 1 Introduction to Selenium, Software Test Life Cycle.

Turbo boost your digital app test automation with Jenkins

Shift Left Testing: are you ready? Live Webinar, Sept 19

What is the Selendroid?

1) What is the difference between Mobile device testing and mobile application testing?

SELENIUM. SELENIUM COMPONENTS Selenium IDE Selenium RC Selenium Web Driver Selenium Grid

Selenium Workshop. Removing the Mystery from Open Source Test Automation. Presented By Chris Petrov, PMP Leverage Point Corporation

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

1. SUPPORT PLATFORMS 2. INSTALLATION GUIDE Install Android SDK

"Automate Mobile App Testing- Or Go Crazy"

CHICAGO. How to Tackle Open Source Test Automation in Incredible Ways. Renaissance Hotel 1 West Wacker Drive Chicago IL April 18th April 22th

Efficiency of Mobile Application Testing with Effectiveness of Tools

Whitepaper on Test Automation Mechanisms for Mobile Apps

MOBILE APPLICATION TESTING CHALLENGES

13 th Annual International Software Testing Conference in India 2013

Oracle Enterprise Manager Oracle Database and Application Testing. Application Testing Suite Lab. Session S318966

Mind Q Systems Private Limited

Asst. Professor, Dept. of MCA, Siddaganga Institute of Technology, Tumakuru, Karnataka

Introduction to Automation. What is automation testing Advantages of Automation Testing How to learn any automation tool Types of Automation tools

QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING.

etrac ATOM Android App Setup Guide

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS

AN ISO 9001:2008 CERTIFIED COMPANY. Software Testing TRAINING.

SOLVING THE MOBILE TESTING CONUNDRUM

Configuring Anonymous Access to Analysis Files in TIBCO Spotfire 7.5

Selenium Testing Training

Test Automation Integration with Test Management QAComplete

Welcome to the Opus Bank Mobile Banking App User Guide

Getting Started with Appium

Test Automation Integration with Test Management QAComplete

Selenium Testing Course Content

Guide to Test Automation Tools

Silk Test Testing Mobile Applications

Appium mobile test automation

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Remote Workspace. Nubo End User Guide. Version: 1.3 Date: June, Copyright 2017 by Nubo Inc. All rights reserved. Page 1

Copyright

Sahi. Cost effective Web Automation

PERSPECTIVE. Best Practices in Automation Testing of Mobile Applications. Abstract

MANAGING ANDROID DEVICES: VMWARE WORKSPACE ONE OPERATIONAL TUTORIAL VMware Workspace ONE

7 steps for digital app test automation success. October 2018

SSQA Seminar Series. Server Side Testing Frameworks. Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007

AMAR PURI. au.linkedin.com/in/iamarpuri 2/40 station Street, Burwood 3125 Victoria, Australia Mobile:

Research of Mobile Applications Automated Testing Using Uiautomator. Wang Xiu Ming, Huang Xin, Li Gui Zhi, Miao Cui Ping, Shen Ning*

Mobile Testing. Open Source Solu,ons

ArcGIS for Developers: An Introduction. Moey Min Ken

FRESHER TRAINING PROGRAM [MANUAL/QTP/ALM/QC/SE/LR/DB/ANDROID] COURSE OVERVIEW

Social Media Testing with Selenium

Test-driven development

Test Automation Practice STC 2012

Beginner s Guide to Cordova and Mobile Application Development

Copyright

Connecting Remotely Staff & Students

Software Development Kit for ios and Android

CS260 Intro to Java & Android 04.Android Intro

Pearson System of Courses (PSC) Deploying PSC with Apple Configurator for ios

Getting Started with Cisco UCS Director Open Automation

Nextiva Drive The Setup Process Mobility & Storage Option

AppFactory User Guide

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

WebFOCUS User Manual

The University of Toledo Intune End-User Enrollment Guide:

Kony MobileFabric Engagement Services QuickStart Guide

Go Ahead Bring Your Own Device to Work... 1 Requirements... 1

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

Learning Objectives of CP-SAT v 1.3

MOBILE APPLICATION TESTING. TekMindz s Testing solutions for enterprises INDZ TM TEK

Configuring an Android Device for inet Guardian

Copyright

STQA Mini Project No. 1

CCC ONE Comp-Est. New Install Reference Guide. version 4.5 and above

Copyright

CONFIGURING BASIC MACOS MANAGEMENT: VMWARE WORKSPACE ONE OPERATIONAL TUTORIAL VMware Workspace ONE

1. Go to the URL Click on JDK download option

XML Tutorial. NOTE: This course is for basic concepts of XML in line with our existing Android Studio project.

VMware vfabric AppInsight Installation Guide

Pearson System of Courses

Getting Started with Android Development Zebra Android Link-OS SDK Android Studio

How to Build an Appium Continuous Testing Pipeline

Rich Client Solutions Inc. Conference Presenter. President InfoQ.com. NFJS JavaOne OSCon EclipseCon

Neston High School Citrix Portal Setup, using Google Chrome & Citrix Workspace on desktop/laptop.

Remote Access for End User Reference Guide for EpicConnect Access

Rationalizing Android Development. Philipp Kumar

Manual Visual Studio 2010 Web Developer Tools Offline

USER GUIDE MYMAZDA MOBILE APP. The MyMazda mobile app makes your Mazda ownership experience simpler and more convenient than ever.

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise

SJ Provider Directory Contents

BUILDING A TEST ENVIRONMENT FOR ANDROID ANTI-MALWARE TESTS Hendrik Pilz AV-TEST GmbH, Klewitzstr. 7, Magdeburg, Germany

Intelligent Mobile App Testing

DESIGN MOBILE APPS FOR ANDROID DEVICES

OSSW ICOSST 2009, Al-Khawarizmi Institute of Computer Science University of Engineering and Technology, Lahore

Paperspace. Deployment Guide. Cloud VDI. 20 Jay St. Suite 312 Brooklyn, NY Technical Whitepaper

Codebook. Codebook for OS X Introduction and Usage

Welcome to the Opus Bank Mobile Banking App User Guide

Android InsecureBankv2 Usage Guide. InsecureBankv2

STQA Mini Project No. 2

Quick Start Installation Guide

Transcription:

1 Enabling Mobile Automation Testing using Open Source Tools Prepared by:indium Software India Ltd Name Title:Alka Arya Quality Analyst

Introduction The mobile phone has evolved from communication medium to a multipurpose mobile gadget. Technological advancements of devices have made the mobile device available in operating systems like Apple ios, Android and Windows Mobile. For functional end-to-end testing perspective, there are different open source tools available to write automated tests for ios and Android mobile devices. Various mobile automation tools differ in their scope and usage depending upon their support for different platforms, nature of workflow, level of integration and programming languages used for preparing automation scripts. Open source mobile automation tools are more preferred not only because they are free but also because they accommodate the support from various dimensions resulting in ever improving quality of the tool. The open source tools which we walk through are NativeDriver, Robotium, MonkeyTalk each with a automation of mobile app and get to know the advantage and disadvantage of all these open source tools. 2 NativeDriver is an implementation of the WebDriver API that drives the UI of a native application instead of a web application. WebDriver exposes browser functionality as a clean, object-oriented API, and Google uses it to test web applications on multiple platforms. Robotium is an automation framework for android application which fully supports of Android native and hybrid applications. MonkeyTalk is cross-platform and functional testing tool that records and plays back highly readable and maintainable test scripts for native ios and Android apps as well as mobile web and hybrid apps. The audience will Understand o Choice of open source tools available for Mobile Automation testing o Effective use of mobile test automation for rapidly changing mobile market requirement.. o Walkthrough of NativeDriver,Robotium and Monkeytalk open source tools. Get to see and understand example code snippets for automating Android and ios devices. 1. NativeDriver Is an opensource framework written over Selenium-2.0 Webdriver implementation. Selenium is a functional automation tool for web-applications and gives a cross-browser, cross-platform supports. The support for testing native application has enhanced the value of selenium. Nativedriver is used by tester working along with the development team and has access to the source code of the andorid application that needs to be tested. NativeDriver is an implementation of the WebDriver API which drives UI of a native application rather than a web application. WebDriver do not need to learn another API and can start using NativeDriver immediately. NativeDriver works on the following versions: Android usable, ios - usable and Windows - Experimental and prototype phase. Native Mobile Apps Test Automation with NativeDriver NativeDriver can be used to perform automated UI commands in a native application in order to test how the application behaves under various conditions.

A NativeDriver Architecture and Test 3 Demo on Google Map for Andriod

4 Advantages of Nativedriver: NativeDriver is built on selenium webdriver, so its easy for selenium users to understand. NativeDriver tests are run as Java unit test. Framework can be redefined for test case execution and reporting. Ant or maven can be used for mobile project management. Disadvantages of Nativedriver: Cannot automate app without source code of the application. Support to find elements by index is not available, so locating some elements is difficult.

2. Robotium Robotium is an Android test automation framework that automates native and hybrid applications. Robotium is easy to write and automate robust black-box test cases. Robotium is used by testers to write function, system and acceptance test scenarios for multiple Android activities. 5 Creating a Robotium Automated Test Case Download the latest version of Robotium, (3.6 at the time of writing). Create a new Android application in the IDE. E.g Eclipse for Android development. Add the Robotium JAR as a reference in project. A Robotium Test Case to automate Calculator test

6 Instrumentation Code Sample Running the Test Compile the APK containing test automation script and install it on test device, along with the APK under test. APK containing the test logic must be signed with the same certificate. This may not be the case if APK under test comes out of a build system.once both are installed on a test device, the test is launched from a command prompt via adb: adb shell am instrument -e class com.jc.robotium.robotiumexample -w com.jc.robotium/android.test.instrumentationtestrunner

Advantages of Robotium: Source code of the mobile app is not required for automating test. Elements are easy to identify and work on. Tests are simple to write and easy to understand. The environment setup is simple to configure. 7 Disadvantages of Robotium Robotium can only be executed using eclipse IDE. Robotium is slow in execution. Normal text typing is not supported in robotium. Flash and web based application cannot be automated. 3. MonkeyTalk Monkey Talk is open source Automation tool for Android and ios. Monkey Talk is a simple-to-use tool. It automates real, functional interactive tests for ios, Android, Web/HTML5, Hybrid and Flex apps. This open source tool can be used for simple smoke tests or for data-driven test suites. MonkeyTalk Script Execution Steps MonkeyTalk IDE - desktop app for record/playback/creation of test scripts MonkeyTalk Agent - library that must be added to app to enable testing MonkeyTalk scripts - understandable, maintainable test scripts MonkeyTalk IDE MonkeyTalk Agent 1. Convert Andriod Project to AspectJ

8 2. Create a "libs" folder in your Android project.. 3. Copy the.jar into the libs folder 4. Right click on MonkeyTalk-agent.jar > AspectJ Tools > Add to Aspectpath. 5.Update your AndroidManifest.xml to include the following two permissions: android.permission.internet android.permission.get_tasks 7. Deploy application to an Android device or emulator MonkeyTalk Test Case Script Passing variable values through driver script. Value for variables can be passed as arguments in a driver script. The only requirement is that they should be provided in the same order as they are declared. We have two scripts here one is the main code (driven) script and the driver script. In MonkeyTalk form # Driven script (test1.mt) Vars * Define paswords user

Input username EnterText ${user} Input password EnterText ${pass} 9 Button LOGIN Tap %thinktime=500 Button LOGOUT Tap %thinktime=3000 The tabular form of driven (test1.mt) script # Driver Script Script test1.mt Run Test mypassword Script test1.mt Run Test1 mypassword1 %thinktime=3000 Driver script in tabular form Test Script by using default values: # default.mt Vars * Define username=alka password=test Input username EnterText ${username} Input password EnterText ${password} Button LOGIN Tap %thinktime=3000 Label * Verify Welcome, ${username}! %thinktime=3000

Result: Started Script Playback 10 Vars * Define username=alka pw=test :Input username EnterText Alka Input password EnterText test Button LOGIN Tap %thinktime=3000 Label * Verify Welcome, fred! %thinktime=3000 Completed Script Playback OK Advantages of Monkeytalk Works with both simulators and actual devices. Works with all desktop browsers. MonkeyTalk uses image-based tools to identify things like buttons, tables and text by looking at the pixels on the screen. Object-based scripting produces more readable and maintainable. MonkeyTalk commands are the same for ios and Andriod devices. Use the simple MonkeyTalk command language or powerful JavaScript API Run tests interactively or from continuous integration environments Disadvantages of MonkeyTalk MonkeyTalk is mainly for Mobile application testing - mostly on emulators, or on limited local devices connected via USB to the PC SeeTest offers manual and automation testing on mobile devices - locally (Connected within organization network to PC's via USB) Only for Android and ios Testing of games is difficult Embedded web pages cannot be tested by MonkeyTalk. Conclusion Mobile Test automation is at nascent stage and is evolving. Mobile automation testing is best way to achieve quick, precise results to accommodate fast development cycles. Manual testing is time consuming for QAs to perform testing. It not only takes up endless amount of time, but it also brings about higher human error and lower quality of testing. Which in turn give rise to higher costs and reduced organizational revenue. Hence it is imperative that organizations commit to an open source mobile test automation tool that delivers a high quality solution.