Appium is implemented on the basis of a test framework that comes with the mobile operating system, and the tools used on Android and iOS systems are:
- Android (Version >4.2): uiautomator,android4.2 After the system comes with the UI Automation Test tool.
- The Ios:uiautomation,ios system comes with a UI Automation test tool.
The architecture principle of appium is composed of two parts: client and server, and the client communicates with the server through the JSON wire protocol.
Appium implements the test agent (Bootstrap.jar) on Android based on Uiautomator and implements the tested agent (bootstrap.js) on iOS based on uiautomation. When the test script is run, each line of Webdriver scripts is sent to the Appium server, and the Appium server sends the test instruction to the agent, which is the responsibility of the agent to perform the test. For example, a click on the script, on the Appium server is a touch instruction, when the instructions sent to the Android system, The Bootstrap.jar on the Android system invokes the Uiautomator method for clicking, and when the instruction is sent to the iOS system, the iOS Bootstrap.js invokes the UIAutomation method for the click operation. Because of this, the same test script can be used to achieve the platform operation.
Appium Architecture Principles