一、Appium的框架原理
Appium是在手机操作系统自带的测试框架基础上实现的,Android和iOS的系统上使用的工具是:
Android4.2以后是基于UIAutomator框架实现查找注入事件,iOS是UIAutomation
Appium的架构原理如图,由客户端和服务器两部分组成,客户端与服务器通过 JSON Wire协议进行通信:
Appium 在Android上基于UIAutomator实现了测试代理程序(Bootstrap.jar),在iOS上基于UIAutomation实现了测试的代理程序(Bootstrap.js)。
当测试脚本运行时,每行webDriver的脚本都将转换成Appium的指令发送给Appium服务器,而Appium服务器将测试指令交给代理程序,由代理程序负责执行测试。比如脚本上的一个点击操作,在Appium服务器上都是touch指令,当指令发送到android系统上时,Android系统上的Bootstrap.jar会调用UIAutomator的方法实现点击操作;而当指令发送到iOS系统上时,iOS的Bootstrap.js将调用UIAutomation的方法实现点击操作。正因如此,同样的测试脚本可以实现夸平台运行。
二、Appium的工作流程
1、Appium-Android工作流
在Android端,Appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAu