Appium Desktop is an open source app for Mac, Windows, and Linux which gives you the power of the Appium automation server in a intuitive and powerful GUI as compared to the command line Appium tool from Sauce Labs.


You can install it from here - Github Appium Desktop Repository


On opening the Appium Desktop Client, we will be greeted with the following screen:



Sections:

1. Starting the Appium Server

2. Starting a new Inspector Session with Desired Capabilities

a. Desired Capabilities for Android

b. Desired Capabilities for iOS


1. Starting the Appium Server


The Default values for Host IP is 0.0.0.0 and Port number is 4723

Note: It is highly recommended to keep the Port number unchanged unless you are a System Administrator since other port numbers might be used by another Application.


Other recommended values for Host IP are localhost or 127.0.0.1.


Please note the values(Host IP and Port) you enter here as these are the values we need to use in the Appium URL field in the Create Execution Configuration while creating a mobile Execution on Testsigma.


In the Testsigma Execution Configuration page, we need to enter the Appium URL in the following format:

http://<host-ip>/wd/hub:4723


For example, http://0.0.0.0/wd/hub:4723


You can click on the Start Server button to start the Server. Your Appium Server will start running and it will look as shown below:



You may either Start a New Session or Stop the currently running Appium Server now.



2. Starting a Custom Session with Desired Capabilities


Many a time, you may need to customise the default session created when Appium Server is started. Once such instance is when we need to set the noReset capability to avoid clearing the App Data while starting a Test Session on Appium for your mobile App. In those cases, you can use the Start New Session option.


1. Click on the Start new Session to open the Session Configuration Page. We will be using the Automatic Server to reduce the complexity. You may use a Custom Server using the Custom Server tab, or Sauce Labs tab if you want to run tests on a Cloud Device.


2. In order to create a Desired Capability, enter the capability name, select the value type and then enter the actual value.

We will be setting the noReset Capability here. Enter the capability name as 'noReset', select type as 'boolean', and toggle to 'true'.


Setting the noReset capability will avoid the Application Data being reset when Appium Session is started. You can see a sample Desired Capability set below:


a. Desired Capabilities for Android


There is a set of minimum capabilities that we need to provide to start a session for inspecting an Android App and they are:


platformName: We need to provide the value 'Android'.

platformVersion: As per the version of your Android Device/Simulator.

deviceName: Providing a deviceName is optional.

appPackage: Package name of the app to be automated.

appActivity: Name of the Activity of the App we need to start with.


Here's a sample set:

{
platformName: "Android",
platformVersion: "7.0.0",
deviceName: "Google Pixel 2",
appPackage: "com.google.gmail",
appActivity: "com.google.gmail.MainActivity"
}


b. Desired Capabilities for iOS


There is a set of minimum capabilities that we need to provide to start a session for inspecting an iOS App and they are:


platformName: We need to provide the value 'iOS'.

platformVersion: As per the version of your iOS Device/Simulator.

deviceName: Providing a deviceName is optional.

app: Path to the app to be automated.

udid: UDID of the device.

bundleID: Bundle ID of the app to be automated.


Here's a sample set:

{
platformName: "iOS",
platformVersion: "12.0",
deviceName: "iPhone X",
app: "~/Documents/TestApp.ipa",
udid: "12345678-ABCD-DEFG-AVBFJDSKFL"
}


4.  Finally, click on Start Session to start the session and inspect the Apps using Appium Inspector.


Happy Automation!