Contents
1:
2:
3:
4:
5:
6:
Appium
Machine
to
app
Setting
Appium
to
Introduction
Introduction
Chapter
1:
Native
app
Mobile
Web
Hybrid
app
Appium
architecture
Summary
Machine
the
Up
the
Setting
Chapter
2:
Up
macOS
Machine
for
setup
Machine
setup
for
Windows
GUI
app
Appium
Summary
Appium
Your
First
Chapter
Your
Writing
3:
Creating
Appium Java
an
Cucumber
first
our
Writing
Summary
Writing
Appium
test
Capabilities
Desired
Desired
Understanding
Understanding
4:
Chapter
Refactoring
-1
Server
Server\xc3\x82\xc2\xa0capabilities
Android-only
iOS-only
Summary
capabilities
capabilities
argument
Appium
Understanding
Understanding
5:
Chapter
inspector
Appium
Summary
How
6:
to
Tests
Synchronize
Chapter
Synchronize
to
How
AppiumDriver
wait
Implicit
Explicit
wait
wait
Fluent
Tests
Test
Appium
First
Test
gradle)' Introduction
(using
project
to
Capabilities
Inspector
to
Appium
Find
Inspector
Locators
to
Find
Locators'
Automate
How
7:
Gestures
to
Automate
Gestures
Summary
How
to
Chapter
Gestures
Summary
Design
How
to
7:
8:
9:
10:
11:
12:
13:
and
Emulators'
Patterns
Design
Test
Patterns
Automation
Test
in
in
with
pattern
Jenkins
and
on
Test
Run
Integration
Automation'
8:
-1
Object
Emulators
Devices
on
Appium
Devices
Test
Jenkins
with
Integration
Chapter
Refactor
Page
Summary
Appium
Run
Chapter
to
9:
How
Emulator
Devices
Summary
Continuous
10:
Chapter
Continuous
Refactoring
-1
Setting
Jenkins
up
Summary
Tricks
and
Appium
Tips
Chapter
Tips
Appium
11:
views
between
Switching
screenshots
Taking
Recording
execution
video
Interacting
another\xc3\x82\xc2\xa0app
with
in
the
parallel
Running
test
Network
conditioning
Summary
Appium
Desktop
App
Chapter
Appium
12:
Installing
the
Appium
new
Summary
Appendix
Chapter
Introduction\xc3\x82\xc2\xa0to\xc3\x82\xc2\xa0Cucumber
Finding
Desktop
App
app
and
Tricks
-
web
and
Appendix
activity
package
name
and
an
app's
launch
native
13:
Installing
Summary
Google
Play
services
in
the
Genymotion
emulator
Chapter 1. Introduction to Appium
The mobile app market is huge, and it will increase further. Approximately,
there are 2 billion smartphone devices worldwide, which is more than two
times the number of personal computers in the world. A report (for more
information, visit https://www.statista.com/topics/1002/mobile-app-usage/)
shows that more than 102 billion apps have been downloaded worldwide, and
the number is expected to reach 268 billion by 2017. According to one of
the reports (for more information,
visit http://www.statista.com/statistics/269025/worldwide-mobile-app-
revenue-forecast/), the worldwide mobile revenue for 2015 amounted to
$41.1 billion and is expected to reach $101.1 billion by 2020.
With all these promising growth numbers and trends, learning mobile app
development and testing will be worth it and will have a huge demand.
In this chapter, we will cover the following topics:
Types of mobile apps
Native App
Mobile Web app
Hybrid App
Appium Architecture
What is XCUITest
What is UiAutomator 2
Let's take a look at mobile apps, which form this ecosystem, and how they
are broadly categorized based on the way they are developed:
Let's understand the different types of mobile apps.
The mobile world is majorly dominated by two operating systems:Â iOS and
Android. Most apps are made for both the platforms given the user base. In
this chapter, we will take a detailed look at the following:
Native app, mobile web, and hybrid app
The characteristics of each type of app
A sample example app of each type
Native app
A native app is an app developed for a particular mobile device or platform
(such as Android, iOS, or Windows). For example, iPhone apps are written in
Swift, and Android apps are written in Java. Native apps are also better
performing and have a high degree of reliability as they use the underlying
system architecture and the device's built-in features.
Native apps can run in both the online mode as well as the offline mode.
Native App is tied to the mobile operating system it has been developed for,
and hence canâ
developing the native app costly as the same app has to be rewritten for
another operating system. These apps are available to be downloaded on the
mobile via the respective app store.
t be run on any other operating system. This makes
Here's an example of a native app. It's a news app bundled with iPhone and
can be downloaded from the Apple App Store:
Another one is the popular Instagram app on Android phone, which is native: