mohit anand

31
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

Transcript of mohit anand

Page 1: mohit anand

Mohit Anand, Software EngineerAdobe

1

Selecting GUI Automation Testing Tool for Mobile Domain

Page 2: mohit anand

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.

Page 3: mohit anand

3

Do you know your apps?

Page 4: mohit anand

4

Complexities in Mobile Landscape

Page 5: mohit anand

5

Operating System & Device Manufacturers

Page 6: mohit anand

6

Screen Size & Resolution

Page 7: mohit anand

7

GPU: Heart of Creative Apps

Page 8: mohit anand

8

Localization: The Big hurdle

Page 9: mohit anand

9

Our main consideration

Page 10: mohit anand

10

Need of Automation in Mobile Testing

Automation is the key

7(Q1’14) – 40(Q1’16)

Page 11: mohit anand

11

Mobile Automation Tools

Page 12: mohit anand

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

Page 13: mohit anand

13

Tools Selected

Page 14: mohit anand

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

MonkeyRunner

Page 15: mohit anand

15

MonkeyRunner

Page 16: mohit anand

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 Automator

Page 17: mohit anand

17

UI Automator

Page 18: mohit anand

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

Page 19: mohit anand

19

Page 20: mohit anand

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

Page 21: mohit anand

21

Page 22: mohit anand

22

Deep dive into Appium

Page 23: mohit anand

23

Test Setup

Page 24: mohit anand

24

The Process: Recipe of Success

Page 25: mohit anand

25

Demo of Adobe Shape GUI Automation

Page 26: mohit anand

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.

Page 27: mohit anand

27

Choose the RIGHT tool

Page 28: mohit anand

28

Use case scenario

Monkey Runner

Android app only Basic UI testing Time Crunch Low effort/investment

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

AppiumAndroid & iOS app

Intensive UI testing

Don’t have code / Don’t want to

install any agent.

Stable automation

solution (free) for suite of apps

Page 29: mohit anand

29

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/

Page 30: mohit anand

30

Question and Answers

Page 31: mohit anand

31