


The prerequisites are the Appium Server’s latest version should be installed on your system and also the latest java-client library added to your project environment. In this article, I would like to share the concept of starting the Appium server programmatically (with help of AppiumDriverLocalService) and how it will work in different languages like Python, Java, C# and Kotlin. The Appium server has the capacity to create multiple sessions to simultaneously run tests on multiple devices. The test results are then received and sent to the clients. The Appium server receives requests from Appium client libraries via the W3C WebDriver Protocol or JSON Wire Protocol and invokes the driver (Android driver/iOS/Windows driver) to connect to the corresponding native testing automation frameworks to run client operations on the devices or desktop applications. Appium will re-design the client libraries for Appium 2.x to work with new protocols. Moving forward, support for older protocols will be removed. Up until Appium 2.0, Appium supported both protocols, so that older Selenium/Appium clients could still communicate with newer Appium servers. The W3C Protocol differs from the (M)JSONWP protocols in a few small ways.

These protocols were the JSONWP (JSON Wire Protocol) and (M)JSONWP (Mobile JSON Wire Protocol). Before the W3C WebDriver Protocol was designed as a web standard, several other protocols were used for both Selenium and Appium. Appium’s API is based on the W3C WebDriver Protocol, and it has supported this protocol for years. It is written in Node.js and runs on the local machine or in the cloud. Appium Server is the core component of the Appium architecture.
