0% found this document useful (0 votes)
84 views22 pages

appium_ppt

Uploaded by

algababy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views22 pages

appium_ppt

Uploaded by

algababy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Rogersoft

APPIUM
Overview
▪ What is Appium?
▪ Features of Appium
▪ Appium Architecture
▪ Advantages of Appium
▪ Disadvantages of Appium
▪ How Appium works?
▪ Types of Mobile Application
▪ Prerequisite to use Appium
▪ Limitation of Appium
▪ Competitors of Appium
🢭 Appium vs Robotium
🢭 Appium vs Selendroid
What is Appium?

▪ Appium is an open-source automation mobile


testing tool, which is used to test the
application.
▪ It is developed and supported by Sauce
Labs to automate native and hybrid mobile
apps.
▪ It is a cross-platform mobile automation tool,
which means that it allows the same test to be
run on multiple platforms.
▪ Multiple devices can be easily tested by
Appium in parallel.
▪ In today's development area, the demand for mobile
applications is high.
▪ Currently, people are converting their websites into
mobile apps. Therefore, it is very important to know
about mobile software automation testing technology
and also stay connected with new technology.
▪ Appium is a mobile application testing tool that is
currently trending in Mobile Automation Testing
Technology.
▪ Appium is used for automated testing
of native, hybrid, and web applications.
▪ It supports automation test on the simulators (iOS)
and emulators (Android) as well as physical devices
(Android and iOS both).
▪ Appium is very much similar to the Selenium
Webdriver testing tool.
▪ So, if you already know Selenium Webdriver, Appium
becomes very easy to learn.
▪ Appium has NO dependency on mobile device OS
because it has a framework that converts the Selenium
Webdriver commands to UIAutomator and UIAutomation
commands for Android and iOS respectively, that
depends on the device type rather than the OS type.
▪ It supports several languages such as Java, PHP,
Objective C, C#, Python, JavaScript with node.js, and
Ruby, and many more that have Selenium client libraries.
▪ Selenium is the backend of Appium that provides control
over the functionality of Selenium for testing needs.
Features of Appium

▪ Appium does not require application source code


or library.
▪ Appium provides a strong and active community.
▪ Appium has multi-platform support i.e., it can run
the same test cases on multiple platforms.
▪ Appium allows the parallel execution of test
scripts.
▪ In Appium, a small change does not require re-
installation of the application.
▪ Appium supports various languages like C#,
Python, Java, Ruby, PHP, JavaScript with node.js,
and many others that have Selenium client library.
Advantages of Appium
▪ Appium is an open-source tool, which means it is
freely available. It is easy to install.
▪ It allows the automated testing of hybrid, native, and
web applications.
▪ Unlike other testing tools, you do not need to include
any additional agents in your app to make Appium
compatible with automation. It tests the same app,
which is going to upload in App Store.
▪ An additional feature added to Appium. Now it would
support desktop application testing for windows as
well along with mobile application testing.
▪ Appium is a cross-platform, freely available mobile
testing tool, which allows us the cross-platform mobile
testing. This means you can test on multiple platforms
(single API for both Android and IOS platforms).
Disadvantages of Appium
▪ Lack of detailed reports.
▪ Since the tests depend on the remote web driver, so
it is a bit slow.
▪ It is not a limitation, but an overhead that Appium
uses UIAutomator for Android that only supports
Android SDK, API 16, or higher. However, Appium
supports older APIs, but not directly. It uses another
open-source library Selendroid to support older APIs.
▪ In iOS, only one instance (iOS Script) can run on one
Mac OS device, which means one test can be
executed at a time per Mac. If you want to run your
tests on multiple iOS devices at the same time, you
need to arrange the same number of Mac machines.
But it would be expensive to arrange various Mac
machines.
Appium Architecture

▪ Appium is an HTTP server that is written


in node.js.
▪ It starts a "test case" on the device that
gives rise to a server and listens for
proxied commands from the main Appium
server.
▪ Tester writes the Test scripts to execute on
device or Emulator.
▪ Several webdriver sessions for different
platforms like Android and IOS are created
and handled by the Appium.
Appium Architecture
▪ Test Scripts written by the tester executes
on the Emulator or device by sending them
as requests to the Appium server.
▪ Each vendor, such as IOS or Android, has a
different method and mechanism to
execute test cases on the device.
▪ So, the test case executes after listening
commands from the Appium server.
▪ Appium uses JSON wire protocols to send
command requests to Appium server.
How Appium work?
▪ When we install the Appium, a server is also
installed with it on our machine that exposes
the REST API.
▪ It receives command and connection requests
from the client and executes that command on
devices like iOS or Android.
▪ It replies with the HTTP responses.
▪ To execute requests, it uses a mobile test
automation framework to run the user
interface of the app. For Example -
🢭 Apple instruments used for iOS
🢭 Selendroid used for Android API 15 or less
🢭 UIAutomator used for Android API 16 or higher
Appium in Android

▪ On Android, Appium proxies the command to


a UIAutomator script running on the device.
▪ UIAutomator is a native UI automation framework
of Android that allows you to run Junit test cases
directly into the device using command line.
▪ Although it uses Java programming language, but
Appium allows to run it from any WebDriver
supported language.
▪ Android uses bootstrap.jar, which works as a
TCP server. It is used to send the test commands
to perform the actions on Android device using
UIAutomator.
Types of Mobile
Applications
Native Applications
▪ Native applications are software programs that
are developed by keeping a certain platform in
mind.
▪ These applications are developed using a specific
software development kit.
▪ Native apps are developed for use on a specific
device and can be installed from the App Store,
such as Google Play Store or Apple's App Store.
They can work offline and can also use the
device notification system.
▪ Some native application examples are - Pinterest,
Skype, Snapchat, etc.
Web Applications
▪ Web applications are not real applications, they are
websites that run on browsers.
▪ These applications are developed using HTML, CSS,
and JavaScript at a very low price.
▪ Unlike Android and iOS apps, they do not require a
Software Development Kit (SDK) for developers to
work with.
▪ Web applications are not developed for a particular
platform.
▪ Since the web applications run on web browsers,
they don't require any installation.
▪ Some web application examples are - Flipkart, Ali
Hybrid Applications
▪ Hybrid application is a combination of native
and web applications.
▪ Like native applications, these applications can
be downloaded from the App Store and also
can take advantage of device features, but
actually they are web applications inside.
▪ They are developed using web development
languages - HTML, CSS, and JavaScript like the
hybrid app, which allows them to run on any
platform.
▪ Some hybrid application examples are - OLA,
Instagram, Basecamp, Chrome etc.
Prerequisites to use
Appium
step 1:
Install the Java Development Kit (JDK)
Step 2: Install Android SDK Packages
Step 3:
Download And Install Appium Desktop
Client
Step 4:
Set Up Java Environment Variable Path

and Android Environment


Step 5:
Enabling Developer Mode Options on A
Limitation of Appium

▪ Appium does not allow the testing for


Android versions lower than 4.2.
▪ Appium provides limited support for
testing Hybrid applications.
🢭 E.g., Switching action of application is
not possible to test i.e., web app to
native app and vice versa.
Appium vs Robotium
▪ Appium is a cross-platform tool that supports both iOS
and Android. Whereas Robotium only supports Android.
▪ Appium supports various languages
while Robotium only supports Java programming
language.
▪ Appium does not require application source
code/library, whereas Robotium tool requires
application source code or library.
▪ Appium can be used to test native, web, and hybrid
mobile applications, whereas Robotium can only test
native and hybrid applications.
▪ Appium supports many frameworks like Selenium.
But Robotium is not compatible with Selenium at all.
▪ In Appium, you don't have to reinstall the application
for a small change. But Robotium code leads to
complete rebuild for a small change.
Appium vs Selendroid
▪ Appium is an open-source automation tool that supports
both iOS and Android, while Selendroid is a test
automation framework that only supports Android.
▪ In Appium, a small change does not require reinstallation
of the application. But Selendroid requires reinstallation
of the application.
▪ Appium has a strong and active community,
whereas Selendroid does not have a strong community
like Appium.
▪ Appium supports many frameworks and languages. On
the other hand, Selendroid is compatible with Jenkin and
Selenium.
▪ Appium does not require application source code/library,
while Selendroid requires application source code or
library.
▪ Appium supports all Android APIs with a limitation.
Appium uses UIAutomator for tests running on API>=17,

You might also like