1、Appium是什么
Appium是一个开源、跨平台的测试框架,基于webdriver(又名Selenium 2,集成了 Selenium 1.0 以及以前的WebDriver,既支持 Selenium API 也支持 WebDriver API)测试框架添加对移动设备自动化api扩展而成,可以用来测试原生APP以及混合的移动端应用,支持iOS、Android及Firefox OS等终端平台。
对APP进行黑盒的自动化测试,提供了模拟各种手势操作(点击、滑动、长按等)、查找和断言机制的API,能够对各种UI控件进行操作。
UI层的自动化测试的本质都是让工具帮人实现点击、输入或等长按操作,怎么让工具做到这些操作了,当然就是依靠页面元素的定位,无论Web端还是APP端都是这样的。在Android平台上通常都是使用由Android SDK自带的工具uiautomatorviewer.bat帮助识别UI控件的布局和属性。
2、Appium自动化测试原理
Appium是以c/s模式的,Appium就是服务器端,移动设备就是客户端。
Appium启动后会在PC端默认开启并监听4723端口;启动测试后会先调用adb完成一些基本的系统操作,比如检查当前可连接设备,然后会把Bootstrap.jar注入到移动设备中,这样Appium服务器就与移动设备之间建立起一个Socket通信管道;服务器端通过这个管道把测试脚本以json数据的形式向客户端POST指令,bootstrap接受到指令就会驱动uiautomator库或者uiautomation框架(