Appium
Appium is an open source
test automation framework for use with native, hybrid and mobile web
apps. It drives iOS, Android, and Windows apps using the WebDriver
protocol.
Native
apps are those written using the iOS, Android, or Windows SDKs.
Mobile web apps are
web apps accessed using a mobile browser (Appium supports Safari on iOS and
Chrome or the built-in 'Browser' app on Android).
Hybrid
apps have a wrapper around a "webview" -- a native control that
enables interaction with web content.
Appium was originally developed
by Dan Cuellar in 2011 under the name "iOSAuto", written
in the C# programming language. The program was open-sourced in
August 2012 using the Apache 2 license. In January 2013, Sauce Labs
agreed to fund Appium's development and motivated its code to be rewritten
using Node.
Installation and Download
1. Install JDK
·
Download the installation package from this website:
·
Specify the path to
your JDK version in the JAVA_HOME environment variable.
·
To do this, open the
Control Panel, search for “environment variables”, in the subsequent dialog,
click Environment Variables, and then set the variable value.
2. Install NodeJS and NPM
·
Download the installation packages from this website:
·
Run the installer and
follow the instructions you will see on the screen.
3. Install Appium Dektop Client
· Go to the following
link http://appium.io/ and click on the Download Appium button.
·
For Windows OS, download the exe file of Appium desktop setup.
·
After downloading the exe file, double click on
the downloaded file to run
·
After choosing the
installation option, click on the install button.
· Appium has been successfully installed on your
system. For completing Appium setup, click on the Finish button.
·
Note that Run Appium is checked. This will
start the Appium Desktop.
· Now, Appium Desktop UI
will appear on the screen containing the default Host and Port,
which can be changed. ( Default Host - 0.0.0.0, Default Port – 4723)
·
Click on the Start
Server button and start Appium Server.
·
A new server will launch on the Host and Port
specified in previous step. You can see the message on the top of the screen
that Server is running.
·
Go to File and click on the New Session Window.
4. Install Android Studio
·
Download the installation package from this website:
5. Configure Android virtual devices
·
After opening a
project, select View > Tool Windows > Device Manager from the main menu
bar, and then click > Create Virtual
Device.
Features of Appium
1.
Appium does not require application source code or library.
2.
It provides a strong and active community.
3.
It has multi-platform support i.e., it can run the same test
cases on multiple platforms.
4.
It allows the parallel execution of test scripts.
5.
In Appium, a small change does not require re-installation of
the application.
6.
It supports various languages like C#, Python, Java, Ruby, PHP,
JavaScript with node.js, and many others that have Selenium client library.
Advantages of Appium
1.
It is an open-source tool, which means it is freely available.
It is easy to install.
2.
It allows the automated testing of hybrid, native, and web
applications.
3.
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.
4.
An additional feature added to Appium. Now it would support
desktop application testing for windows as well along with mobile application
testing.
5.
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
1.
Lack of detailed reports.
2.
Since the tests depend on the remote web driver, so it is a bit
slow.
3.
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.
4. 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.
https://www.javatpoint.com/appium
http://appium.io/docs/en/about-appium/getting-started/?lang=en