1. Mohit Anand, Software Engineer
Adobe
1
Selecting GUI Automation Testing
Tool for Mobile Domain
2. 2
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.
12. 12
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
14. 14
Key Features
Components of this tool
Google• Provides an API for writing programs to control an
Android device/emulator.
• Can be used for both functional and UI testing.
• Entirely based on coordinates based automation.
• MonkeyRunner
• MonkeyDevice
• MonkeyImage
MonkeyRunnerMonkeyRunner
16. 16
Key Features
Components of this tool
Google• It is a java library containing API’s to create customized
functional UI tests.
• Integrated with Google’s own Android development IDE
• Entirely based on object based automation.
• Uiautomatorviewer
• API framework.
UI AutomatorUI Automator
18. 18
Key Features
Components of this tool
• It is an integrated environment for recording, customizing
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.
• MonkeyTalk IDE
• MonkeyTalk Agent
Cloud Monkey
20. 20
Key Features
Components of this tool
• Appium Server
• Appium Client libraries
• Appium Inspector
• It is a HTTP server that takes HTTP commands from the
test script and executes the command on the device.
• Based on WebDriver JSON protocol.
• Used for automation of both iOS & Android apps.
• Totally derived from selenium code + mobile gesture
handling
Sauce Labs
26. 26
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.
28. 28
Use case scenario
Monkey
Runner
Android app only Basic UI testing Time Crunch
Low
effort/investmen
t
UI
Automator
Android app only
Intensive UI
testing.
Don’t want to
use third party
tool.
Have time to
build a stable
automation
solution.
Monkey
Talk
Android & iOS
app
Your app doesn’t
supports web
view.
Image
comparison
requirement.
Can install agents
in your app / can
invest money per
month
Appium
Android & iOS
app
Intensive UI
testing
Don’t have
code / Don’t
want to install
any agent.
Stable
automation
solution (free) for
suite of apps