You are on page 1of 31

Selecting GUI Automation Testing

Tool for Mobile Domain


Mohit Anand, Software Engineer
Adobe

Abstract

With the growing number of mobile apps and their agile development life
cycle, Automation testing around them will no longer be optional. The intent of
this paper is to present a comparison between the widely used mobile
automation tools in order to determine their ease of use & effectiveness. We
picked up a typical Adobe mobile app, tested its GUI manually & then followed
it up by a round of automation testing using these tools. This paper list down the
technical nuances involved while choosing any such tool for user specific
scenario.

Do you know your apps?

Complexities in Mobile Landscape

Operating System & Device Manufacturers

Screen Size & Resolution

GPU: Heart of Creative Apps

Localization: The Big hurdle

Our main consideration

Need of Automation in Mobile Testing

Automati
on
is
the key

7(Q114) 40(Q116)
10

Mobile Automation Tools

11

Selection criteria

We want to have a combination of tools which satisfy the


following criteria:
Can automate Android/iOS/Both mobile apps

First party/Third party tool

Bundled with the OS IDE/ Should be installed separately

Coordinate based/ Object based automation


12

Tools Selected

13

MonkeyRun
ner
Key Features
Provides an API for writing programs to control an
Android device/emulator.

Google

Can be used for both functional and UI testing.


Entirely based on coordinates based automation.

Components of this tool


MonkeyRunner
MonkeyDevice
MonkeyImage
14

MonkeyRun
ner

15

UI
Automator
Key Features

Google
It is a java library containing APIs to create customized
functional UI tests.
Integrated with Googles own Android development IDE
Entirely based on object based automation.

Components of this tool


Uiautomatorviewer
API framework.
16

UI
Automator

17

Key Features
It is an integrated environment for recording, customizing
Cloud Monkey
and managing test suites.
Open source, eclipse based IDE.
Used for automation of both iOS & Android apps.
Limited features are available in the free version of this
tool. Paid version is costly.
Components of this tool
MonkeyTalk IDE
MonkeyTalk Agent
18

19

Key Features
It is a HTTP server that takes HTTP commands fromSauce
the
test script and executes the command on the device.

Labs

Based on WebDriver JSON protocol.


Used for automation of both iOS & Android apps.
Totally derived from selenium code + mobile gesture
handling
Components of this tool
Appium Server
Appium Client libraries
Appium Inspector
20

21

Deep dive into Appium

22

Test Setup

23

The Process: Recipe of Success

24

Demo of Adobe Shape GUI Automation

25

Takeaways

Use real devices: In Adobe, we say no to simulators.


All elements in the UI should have a unique resource id.
The App UI has changed: Get ready for modifying your test script.
Say NO to sleeps and xPath.
iOS Automation: You need code access or debug build.

26

Choose the RIGHT tool

27

Use case scenario

Android app
only

Basic UI
testing

Time Crunch

Low
effort/investm
ent

Monkey
Runner

Android app
only

Intensive UI
testing.

Dont want to
use third
party tool.

Have time to
build a stable
automation
solution.

UI
Automat
or

Android & iOS


app

Your app
doesnt
supports web
view.

Image
comparison
requirement.

Can install
agents in your
app / can
invest money
per month

Monkey
Talk

Android & iOS


app

Intensive UI
testing

Dont have
code / Dont
want to install
any agent.

Stable
automation
solution (free)
for suite of
apps

Appium
28

Bibliography
o http://developer.android.com/tools/help/monkeyrunner_concepts.html
o https://www.cloudmonkeymobile.com/monkeytalk
o http://developer.android.com/training/testing/ui-testing/index.html
o https://developer.android.com/about/dashboards/index.html
o https://developer.apple.com/support/app-store/

29

Question and Answers

30

31

You might also like