You are on page 1of 37

AUTOMATED MOBILE

TESTING - APPIUM

Mail: training@qa-masters.com
Mobile : +91 9160021120
2

Mobile automation Testing Course

What is Appium
Appium Basics
Competitors
Advantages
Disadvantages
3

Need of Mobile
Application Automation
Testing
4

Smartphone Apps have experienced explosive growth


since 2007
Mobile App are more reliable for Organizations
Mobile Apps bringing half of their Web Traffic
In some cases, mobile apps are the only way
customers interact with their products.
5

No Wonder, that Mobile Apps Development Process has


become quick and efficient, which also have high priority
for organizations.
Fortunately, Mobile development tools are evolving to
meet these needs, with modern dev teams.
Development of Mobile Apps has become faster
But, what about the Testing approaches??
6

Testing Mobile Applications are:


More complex
Time consuming
Platform Variations
Quality Concerns

So, alike Manual Mobile Testing process,we should also


adopt Mobile Automation Testing
7

Need of Automation in Mobile Testing

Automation
is the key
Globalization:
Apps
Mobile releasing in
Landscape multiple
Complexities languages
Agile
development
cycle

Growing
mobile apps

7(Q114) 40(Q116)
8

Various factors to adopt Mobile Automation:

Efficient
Faster
Reusability
Reliable
Cost Reduction
9

Which Mobile
Automation Tool to be
Used?
10
11

What is Appium?
&
Why Appium?
12

Appium is an open-source test automation tool


Allows testing for all types of Mobile Applications:
Native Apps, Hybrid Apps and Mobile Web Apps
Importantly, it is Cross-Platform
13
14

Appium is Cross Platform supporting iOS and android


15
Operating System & Device Manufacturers
16

Appium supports most of the Programming languages


like java, ruby, php, C#, etc.
Appium handles both, Simulators and Real devices
17

Appium supports Automation for all Apps like Hybrid,


Native and Web apps
18

Complexities in Mobile Landscape

Operating System

Screen size

Screen resolution

Device Manufacturers

Smartphone or Tablet

GPU used
19

Screen Size & Resolution


20

Appium is compatible with Selenium Webdriver


21

Appium is very well supported and Active group,


Building a large and thriving open source community effort
22

Mobile Automation Tools


23

MonkeyRunn
er

Strengths Limitations

Easy to set-up.
Only supports Android.

Test multiple devices at a


time.
Different script for different
device.
Appropriate for regression
testing of a basic app.
Even slight change in UI
Random testing. breaks the script.
24

UI Automator

Strengths Limitations

One of the best tools for Only supports Android


testing android apps. (versions > 4.3).

Comes bundled with Lack of support for Web


Android Studio IDE. view.

Lack methods for some


Appropriate for UI testing
gestures like long press
of any android app.
on an element.
25

Strengths Limitations
Supports both iOS and Android The essential features are
apps. available in the paid version.

Test multiple devices at a time. Doesnt support web view.

Agent needs to be installed in the


Open source
app which needs to be tested.

Image comparison is supported Limited xPath support.


26

Strengths Limitations
Supports both iOS and Android No support for parallel test for
apps. iOS apps.

One of the most versatile tools


No support for Android version
for testing any native, hybrid
< 4.1 (selendroid can be used)
and mobile web apps.

Doesnt require code access or


No Image comparision.
recompiling the app.

Test multiple android devices at No option to switch off network


a time. connection.
27
Choose the RIGHT tool

Preference
to free/paid
tool

Which app to
First
automate:
party/Third
Android/iOS
Party
or both?

RIGHT TOOL

Community
Time Crunch
support

Flexibility of
tester with
the scripting
languages
28
The Process: Recipe of Success

Write test
Identify the Repeat until
script to cover Run the script Next Release:
Know your right the app lives
all the testing for the test Update the
mobile app. automation on the app
workflows in pass. script.
tool. store.
the app.
29

Getting Started with


Appium
30

Prerequisite to use Appium:


JDK (Java Development Kit) - V1.6(+)
Eclipse - Indigo(+)
Android SDK With API level 17(+)
Selenium WebDriver JAR 2.43.0(+)
Appium for Mac/Windows 1.3.7.2(+)
APK App info from Play Store
31

How Appium works?

Working
Architecture
32

Working Architecture of Appium on Real


Devices/Simulator
33

Working flow:

1. From Web-driver, Automation Commands are sent in


form of JSON via HTTP request to Appium Server.
2. Appium Server invokes Vendor specific mechanism to
execute those commands on the Mobile-Device.
3. Client sends back the message to the Appium Server.
4. Appium Server logs the result in the console of the Web
Driver.
34

Limitations of Appium:

Doesn't support image comparison


Doesnt support testing of Android Version lower than 4.2
Limited support for testing Hybrid App
Long time to configure Appium for both android and iOS
No Support to run Appium Inspector on Microsoft Windows
35

Takeaways

Use real devices: avoid simulators as much as


possible
All elements in the UI should have an unique
resource id.
The App UI has changed: Get ready for
modifying your test script.
Say NO to sleeps
36

Any Questions?
37

Thank You

Mail: training@qa-masters.com
Mobile : +91 9160021120

You might also like