Introduction:-

Appium is an open-source cross-platform automation testing tool and mobile application UI
testing framework. It is used for automating test cases for native applications, hybrid
applications, and web applications. The tool has a major focus on both Android and iOS apps
and was only restricted to the mobile application testing domain. Recently a few updates
back Appium also announced that they will also be supporting the testing of desktop
applications for Windows. Now Appium is developed and maintained by sauce labs currently
app version 1.1 too is being distributed Appium first started off as a command line-based testing service that can be installed using nodejs and their latest release is named
Appium desktop. They have released a strong and refined tool with an intuitive graphical
interface. Appium desktop comes with a very intuitive application element inspector which
lets you inspect elements of your application in a much more efficient manner. It supports
automation tests on physical devices as well as an emulator or simulator or both. Above
that Appium also offers cross-platform testing i.e., a single API that actually going to work
for both Android and iOS. Currently, Appium with a single API allows us to test applications
for android, iOS, and for Windows OS.
Types of Application:-
• Web Application
• Native Application
• Hybrid Application
Philosophy of Appium:-
It is a rising star in the mobile test automation landscape and since a few of the developers at
sauce lab are regular commuters to the project it’s pretty close to their heart. Now-a-days
there is a philosophy in Appium called as four-point Appium philosophy. So the first
philosophy is you shouldn’t have to recompile your apps or modify them in any way in order to
automate them. The second philosophy is you shouldn’t be locked into a specific language or
framework to write and run your tests. The third philosophy is a mobile automation framework
shouldn’t reinvent the wheel when it comes to automation APIs. The fourth philosophy is that

a mobile automation framework should be open-source in spirit and practice as well as a
name.
The architecture of Appium:-

Appium is basically an HTTP server written in nodejs which creates and handles multiple
web driver sessions for different platforms like iOS and Android. Appium follows the client-
server architecture. Basically, we have to send request some requests to the Appium server
then the Appium server along with its brilliant APIs decides how to actually handles the
request and then with the appropriate decisions being made by the server itself without any
complications that you might need to worry about as a tester it sends these requests to the
device and emulator, so the device or the emulator runs the test cases according to how
they are written and then sends back in the response to the Appium server which in return
sends it back to the client. So Appium starts the test case on the device that spawns the
server and it listens for proxied commands from the main Appium server it is almost the same as
a selenium server that perceives HTTP requests from selenium flying through libraries and
it handles those requests in different ways depending on the platform. Each vendor like
iOS and Android have different ways and mechanisms to run a test case and so Appium kind
of hacks into it and runs these test cases after listening to commands from the Appium server.
Why We Should Choose Appium:-
Let’s compare it to other open-source tools instead of paid enterprise versions available now-a-
days. Since Appium is free and open source it is only fair that we compare it with other free
automation tools. The tools we are going to test against Appium are cylindroid which is
basically selenium for Android and Robotium. There are some features that make Appium
such a beautiful choice. Firstly Appium is free and open source, secondly, it supports both
iOS and Android apps for testing purposes above that when we use Appium there is no need
for the app source code to be available to the tester as he can just the app without reinstalling
the application which justifies that Appium never reinstalls the application again and again
because Appium actually believes in testing the app that you will actually release to the
marketplace. So when you reinstall an application with third-party agents for automation
purposes it kind of

beats the purpose. Above that Appium supports multiple frameworks and programming
language like Ruby, Scala, Cortland, Java, Python, and a bunch of different languages. Last
but not the least Appium has a strong active and budding community which means any help
you need will be actually given to you by the community itself, because it’s such a proactive
one.
How it Works:- On
iOS Devices:-
On iOS basically, Appium proxies command to a UI automation script running on Mac
instrumentation environment Apple provides an application called instruments which is
used to do a lot of activities like profiling, controlling, and building iOS apps but it also has an
automation component where we will write some commands in JavaScript which use UI
automation APIs to interact with the app UI.
On Android Devices:-
On Android, Appium proxies the command to a UI automation test case running on the
device. So UI Automator is an Androids native UI automation framework that supports test
cases directly into the device from the command line. It uses Java as a programming
language.
Advantages of Appium:-
★ The complexity of the testing environment is completely encapsulated.
★ It opens door to cross-platform mobile testing.
★ No external agents are required.
The disadvantage of Appium:-
★ It is difficult to scale.
Conclusion:-
To become a successful enterprise choosing the perfect automation tool is the key. If
someone is looking for a web driver application program interface, a cross-platform test then
Appium is the best choice. For them learning Appium will be worth it.

Follow Our Page TechCtice

Contact Us

Your email address will not be published. Required fields are marked *