Appium for Mobile Test Automation

What is Appium?

It’s a NodeJS based open-source tool for automating mobile applications. It supports native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms.

Using Appium, you can run automated tests on physical devices or emulators or both.

Appium Architecture Diagram

widget

Let’s understand the above Appium architecture using the diagram.

Appium is a client-server architecture. The Appium server communicates with the client through the HTTP JSONWire Protocol using JSON objects.

Once it receives the request, it creates a session and returns the session ID, which will be used for communication so that all automation actions will be performed in the contest of the created session.

Appium uses the UIAutomator test framework to execute commands on real Android devices and emulators.

Appium uses the XCUITest test framework to execute commands on real Apple mobile devices and emulators.

Appium uses WinAppDriver to execute commands for Windows Desktop apps. It is bundled with Appium and does not need to be installed separately.