Appium Introduction
Open source, cross-platform, multi-lingual support for mobile application automation tools
Measurable objects
Native app app, hybrid app app, mobile web App
App operating environment: Real machine, simulator
Test object App Run platform
IOS, Android (currently the two are the mainstream of the market); Windows, Firefoxos.
The test program running platform supports Windows, Linux, Mac OS;
Note: iOS app Appium server must be running on Mac OS system, such as MacBook, imac;
Supported Test languages
Python, Java, Ruby, PHP, JS, C #, the mainstream is python;
Appium Automation principle Topology diagram
Appiumserver is implemented by JS, and node. JS is an interpreter for the JS program.
Appium to be able to truly automate applications on mobile phones must depend on the automation framework of each mobile platform;
IOS, Android have their own framework, IOS9.3 used before the framework is uiautomation, now with the xcuitest;
Android is Uiautomator, and now the newest one is Uiautomator2. The framework provides the runtime, and the runtime runs on the mobile device.
Appiumserver Service will install a Help automation application on the mobile device, I understand it as a "control license" in such an application, through this application can compile our automated instructions, and then follow the instructions to test the mobile device application.
Android bottom-up automation tools
android2.3~4.1 low-level tools used is selendroid, and now the use of rare is very unpopular, since the Android4.2 mainstream use is uiautomator now accounted for more than 90%;
Here's a schematic of some of the details of Android automation for the previous figure
Uiautomator will import Bootstrap.jar into the mobile device, which contains a variety of automated command parsing. Uiautomator2 will install an apk on a mobile device that works the same as Bootstrap.jar
iOS bottom-up automation tools
ios9.3 before, Apple used uiautomation;ios9.3 later version of Xcuitest (market accounted for almost 97%)
Appium Automated Test Learning notes--appium principle