2. What is Mobile Automation?
Mobile Automated testing provides a mechanism to consistently
repeat a test procedure and verify application results.
Testing mobile applications is different and more complex than
testing traditional desktop and web app applications
Mobile applications need to be tested on a variety of software
platforms and versions, on diverse hardware and form factors.
Moreover, the rapid pace of mobile OS updates, the frequent
introduction of new devices and the customer expectation of
quick upgrades require additional test cycles.
3. Appium
Appium is an open source automation tool for running test
scripts in the Mobile Applications.
It can be used to automate Native applications, Mobile-Web
applications and Hybrid applications.
Support mobile applications on Android and iOS.
It allows users to write automated tests using a wide range of
programming languages, including Java, Python, Ruby, and
JavaScript.
4. System Requirements for using Appium
1. macOS, Linux or Windows operating system.
2. Java Development Kit (JDK) or Java SE version 8 or later.
3. Node.js 14+.
4. A Virtual or Real iOS/Android device.
5. Android Studio or Xcode.
6. Appium or Appium Desktop.
7. Appium Inspector.
8. Integrated development environment (IDE).
NOTE: An active paid Apple developer account is needed to run Appium on a real iOS device.
5. Install and Set-up Appium
1. Install Node.js and install Appium by running the following command in the terminal or command prompt
2.Install Appium client libraries: Depending on the programming language you plan to use for writing your Appium tests, you may
need to install the corresponding client libraries. For example, if you plan to use Java, you will need to install the Java client
library. You can find the client libraries for various programming languages on the Appium website.
3.Install Appium Desktop: Appium Desktop is a GUI application that provides a user-friendly interface for working with Appium.
4.Set up Android and iOS SDKs: In order to run Appium tests on Android and iOS devices, you will need to install the Android SDK
and the iOS SDK.
5.Set up Device: To run Appium test, a Virtual or Real device need to be connected to the system. Also make sure to Enable the
USB Debugging on the connected Real Android Device
“npm install -g Appium”
7. Client-Server Architecture
Appium at its heart is a server written in node.js. The server works using a client-
server architecture. According to the client-server architecture, the client connects
to the server to avail any service hosted on the server. Any communication
between the client and server is in the form of response and requests.
In Appium the client sends requests regarding automation to the Appium server.
The server processes the request in its own unique way, which we will get to in a
second, and then responds with the test result or log files.
8. Appium Server
Appium Server is a key component of Appium, which is responsible for managing the
communication between the test scripts and the mobile devices or emulators on which the
tests are run.
The Appium Server can be run locally on the same machine as the test scripts, or it can be
run remotely on a different machine
The Appium Server also provides a range of configuration options that can be used to
customize the behavior of the server and the way it interacts with the mobile device or
emulator. These configuration options are specified using Desired Capabilities, which are
passed to the server when it is started.
9. Desired Capabilities
Desired Capabilities in Appium are a set of key-value pairs that are used to provide
configuration information to the Appium server. These capabilities are used to specify the
type of mobile device, the platform version, the app package name, the app activity name,
and other settings that are required to automate a mobile app.
Here are some of the most commonly used Desired Capabilities in Appium:
• platformName: Specifies the name of the platform (iOS or Android) to be used for testing.
• platformVersion: Specifies the version of the platform to be used for testing.
• deviceName: Specifies the name of the device on which the app will be tested.
• app: Specifies the path or URL of the app file to be tested.
• appPackage: Specifies the package name of the app to be tested.
• appActivity: Specifies the activity name of the app to be tested.
10. Appium Inspector
Appium Inspector is a graphical user interface tool provided by Appium that helps in
inspecting and analyzing the user interface of mobile apps. It is a part of Appium Desktop,
which is a standalone app that provides a user-friendly interface for working with Appium.
Appium Inspector allows developers and testers to view and interact with the elements of a
mobile app, such as buttons, text fields, and menus, and to get detailed information about
these elements, such as their location, type, and properties.
11. Pros Of Using Appium
Since Appium is an open-source automation testing tool, it can be used free of charge.
Appium supports both native and hybrid apps.
Appium supports both iOS and Android.
Appium runs on Real devices and Virtual devices.
Appium allows test scripts written in Java, Python, Ruby, C#, JavaScript, and PHP or any
language that supports Selenium.
Appium allows multiple devices testing with different OS simultaneously.
Appium desktop and Inspector GUI is easy to use.
12. Cons Of Using Appium
Configuring Appium to test on real devices is challenging.
Testing on real iOS devices requires an active paid Apple developer account.
Appium test execution is slow.
Locating some apps objects is difficult.
Appium cannot switch between testing mobile app features and web app features in the
same test script.
15. OUR
CONTACT DETAILS
Livares Technologies Pvt Ltd
5th Floor, Yamuna Building
Technopark Phase III Campus
Trivandrum, Kerala, India-695581
Livares Technologies Pvt Ltd
Tech&Socio-Cultural Group
Our helpline is always open to receive any inquiry
or feedback.Please feel free to contact us
www.livares.com
contact@livares.com
@livaresofficial
www.facebook.com/livaresofficial
+91-471-2710003 | +91-471-
2710004
THANK YOU