Application developed for a specific platform.
Applications built to run on browsers (in this case, mobile browsers).
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.
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.
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.
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:
- 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.
- 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.
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.
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.
Step 1 : Launch Appium Desktop and start a new session
Once Appium Desktop is launched, open a ‘New Session Windows…’
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.
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’
Provide the cloud URL and access key.
Set the “platformName” capability to iOS or Android, based on the device you would like to use.
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.
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.