- Appium Essentials
- Manoj Hans
- 363字
- 2021-07-23 19:27:11
Appium architecture
Appium is an HTTP server written in Node.js that creates and handles WebDriver sessions. The Appium web server follows the same approach as the Selenium WebDriver, which receives HTTP requests from client libraries through JSON and then handles those requests in different ways, depending on the platform it is running on.
Let's discuss how Appium works in iOS and Android.
Appium on iOS
On an iOS device, Appium uses Apple's UIAutomation API to interact with the UI elements. UIAutomation is a JavaScript library provided by Apple to write test scripts; Appium utilizes these same libraries to automate iOS apps.
Let's take a look at the architecture, which is shown in the following diagram:

In the preceding diagram, when we execute the test scripts, it goes in the form of JSON through an HTTP request to the Appium server. The Appium server sends the command to the instruments, and the instruments look for the bootstrap.js
file, which is pushed by the Appium server to the iOS device. Then, these commands execute in the bootstrap.js file
within the iOS instruments' environment. After the execution of the command, the client sends back the message to the Appium server with the log details of the executed command.
A similar kind of architecture follows in the case of Android app automation. Let's discuss the Appium architecture for Android.
Appium on Android
On an Android device, Appium uses the UIAutomator framework to automate the apps. UIAutomator is a framework that is developed by the Android developers to test the Android user interface.
Let's take a look at the architecture, which is shown in the following diagram:

In the preceding diagram, we have a UIAutomator/Selendroid in place of Apple instruments and bootstrap.jar
in place of the bootstrap.js
file.
Appium supports Android versions greater than or equal to 17; for earlier versions, it uses the Selendroid framework. When we execute the test scripts, Appium sends the command to the UIAutomator or Selendroid on the basis of the Android version.
Here, bootstrap.jar
plays the role of a TCP server, which we can use to send the test command in order to perform the action on the Android device using UIAutomator/Selendroid.
- Java程序設計(慕課版)
- 零基礎學C++程序設計
- 樂學Web編程:網(wǎng)站制作不神秘
- C語言程序設計基礎與實驗指導
- Python高效開發(fā)實戰(zhàn):Django、Tornado、Flask、Twisted(第2版)
- 單片機應用技術
- Android Native Development Kit Cookbook
- Python機器學習基礎教程
- 飛槳PaddlePaddle深度學習實戰(zhàn)
- Protocol-Oriented Programming with Swift
- Web編程基礎:HTML5、CSS3、JavaScript(第2版)
- IBM RUP參考與認證指南
- Swift 2 Design Patterns
- ASP.NET jQuery Cookbook(Second Edition)
- C語言程序設計