What is Appium?

Appium is an open-source, cross-platform test automation framework used to automate Native, Web, and Hybrid mobile applications.

Native Application

Application developed for a specific platform.

Web Application

Applications built to run on browsers (in this case, mobile browsers).

Hybrid Application

Applications that have both Native and Web components but run as an application.

Appium is the most widely used testing framework for mobile applications for the following reasons:

  • Provides end-to-end automation support like Appium Server for the execution of tests, Appium Client libraries for development, and UI Inspector to locate UI elements of Application.
  • Libraries for test development supporting a broad set of programming languages.
  • Supports most of the important features of mobile operating systems for automation.
  • Exposes a single API for automating mobile applications on different platforms.
  • Large developer community base.
  • Quicker update of test framework supporting new releases of Mobile Operating Systems.

Free Download Appium Studio Now

security

How Does Appium Work

security
security

Architecture

Appium’s key components are:
Appium Server – An HTTP Server that listens to the Appium HTTP-based clients and uses its UI Automator driver to translate automation commands to a language that Android devices can understand.
Appium framework – provides Appium Client libraries for different languages like Java and Python. Supported languages are listed in Appium clients. Appium supports different drivers to automate various end platforms. UIAutomator2 Driver and UIAutomation are used to support the Android and iOS Operating System respectively.

security
security

Appium Clients and Appium Server Communication

Appium Client and Appium Server use JSON Wire protocol over HTTP to communicate with each other. Communication between Appium clients and Appium Server is complex, and to overcome this complexity the data is exchanged in JSON format which is structured.
To kick off the communication, a session is created as an initial step. Desired Capabilities are key-value pairs that are preferences for this session. These preferences include mandatory information (apart from other optional information) like the platform name, device name, and application path which is the key information in automation. Here is an example of the data sent via the JSON Wire Protocol with the desired capabilities to establish a session to Appium Server.

security
security
security
security

GUI-based Appium Desktop

The Appium Desktop is a powerful and vibrant GUI desktop application that can be run on Windows, MAC, and Linux distributions. Appium Desktop adds a GUI later to the Appium server that enables you to easily manage test automation operations. It is a combination of several Appium tools:

  1. GUI interface for Appium server. With this you are able to set options, start or stop the server, and see logs. It is not necessary to use Node/NPM to install Appium. Node runtime comes included with the Appium Desktop.
  2. Appium Inspector gives you the ability to look at your app’s elements and get basic information about each one. You can also perform interactions with each element. The benefit of this feature is to learn more about your app and by extension Appium as well. This will simplify the test writing process.  
security
security

Appium Desktop Installation

Appium Desktop is a desktop UI utility for Mac, Windows, and Linux. It can be used to manage an Appium server and it comes with Appium Inspector bundled. Appium Inspector can be used for local UI elements of a Mobile application.
The following steps can be used to install the Appium Desktop.
1. NodeJS is a prerequisite, hence Download NodeJS and double click the downloaded file. Follow the steps in the wizard to finish the installation of Node.
2. Download Appium Desktop
3. Launch the Installer of the platform of your choice and follow the setup wizard.

Connecting Appium Desktop to Experietst's Continuos Testing Platform

Experitest’s platform is an end-to-end solution to test devices and browsers over the Cloud or a remote network.  Also, it is fully compatible with tools like Appium, Selenium, and XCUITest and the best thing about it is you can use it for free!  The section below provides a step-by-step procedure to connect SeeTest Cloud with Appium Desktop for Windows.
Prerequisite – a valid SeeTest Cloud account.

security
scalabilty

Step 1 : Launch Appium Desktop and start a new session
Once Appium Desktop is launched, open a ‘New Session Windows…’

scalabilty
multiregion

Step 2: Getting access key from SeeTest Cloud
Navigate to the SeeTest Cloud UI and click the icon representing the user. Then click Get Access Key as shown below.

multiregion
support

Copy the access key to the clipboard from the open-access key dialog box.

Note: In this case, we used SeeTest Cloud’s public offering in the connection preferences.

support
deployment

Step 3: Specify SeeTest Cloud connection settings and Desired Capabilities. The previous step will open up a dialog box to connect to an Appium Server. In this step, we will specify the connection preferences of SeeTest Cloud’s Appium Server.

Select Experitest from the ‘Cloud Providers’

deployment
functionality

Provide the cloud URL and access key.
Set the “platformName” capability to iOS or Android, based on the device you would like to use.

functionality
deployment

Click Start Session to connect to SeeTest Cloud. This step will connect to the SeeTest Cloud.

An ongoing Appium Desktop session to the SeeTest Cloud is also available in the SeeTest Cloud User Interface. This provides the user with better control over the device.

deployment
functionality

Navigate to the Execution tab in SeeTest Cloud User Interface and click debug to use the ongoing Appium Desktop session.

This is a very convenient feature because a test user can leverage powerful features of both SeeTest and Appium in the same session. The key benefit of this session is that the test operations done using SeeTest are faster and more user friendly. Appium Inspector can be used to inspect any element in the session.

functionality
creation

Appium Studio - Appium Testing Made Easy

Get your Appium automation going within minutes with no hardware dependencies. Test iOS on Windows or MAC, and easily write stable tests with a Device Reflection and Object Spy. Shorten the feedback cycle with visual reports, Test integrations with system and 3rd party apps, and get immediate OS version and beta support

United Themes Shortcode Plugin
creation

Free Download Appium Studio Now

Data Sheet

To learn more about Appium Studio – click here.

Appium Studio Tutorial

Get Started with Appium Studio – click here.

Appium Studio Forum

Consult and ask the community about Appium Studio – click here.

Appium Studio Online Guide

To learn all there is on Appium Studio – click here.

Key Features

Get Your Appium Testing Projects Going Within Minutes

Install Appium Studio with a single click along with all of the required development tools. Use the intuitive GUI to easily develop new tests or execute existing Appium testing projects on local or remote devices.

Appium Testing on iOS Made Easy

Perform Appium testing on iOS devicesiOS app testing on real Apple devices using a Windows machine and connect up to 10 devices. Enjoy automated registration of Apple devices to Apple developer accounts that eliminate the provisioning process.

Improve Your Coverage Rates With Out-of-App Testing (iOS)

Achieve high coverage rates by testing outside of your app (SMS, network, settings, Facebook) and third-party integrations for complex use cases such as code scanning or fingerprint authentication. Guaranteed rapid version and beta support.

Reuse Your Existing Appium Tests

Run your existing Appium tests with no need for modification using Appium Webdriver API. Run tests developed in Appium Studio using any Appium tool.

Mobile Test Development

Stop wasting time – create stable Appium mobile testing projects quickly. Easily understand application structure and write robust, maintainable test scripts with advanced object identification methods such as XPath and Object Spy.

Shorten the Feedback Cycle With Detailed Reports

Receive detailed test reports including screenshots and videos, for shorter root cause identification and faster fault resolution.

Appium Studio for IntelliJ and Eclipse

Perform end-to-end mobile test automation directly from within your IDE with Appium Studio plugins for IntelliJ and Eclipse. Easily develop, automate, analyze and debug your mobile tests right in your IDE, on remote physical devices.

Appium Studio Plans

Test on both iOS and Android using a Windows machine. Support for all mobile OSs including beta versions. Test on local devices, use recording Object Spy and install in just one click.

Community Plan – Up to 2 users, community support, free forever. Download now.

Enterprise Plan – Custom number of users, premium support, test on remote devices in a SaaS Digital Assurance Lab or in an On-Premise Digital Assurance Lab. Contact Us.

Free Download Appium Studio Now