你对Appium了解多少?

Appium是一个开源的工具,用于自动化IOS手机,Android手机和Windows桌面平台上的原生,移动web和和混合应用。

Appium是跨平台的:IOS,Android,Windows

那么,什么是原生应用,移动web应用和混合应用呢?

  原生应用就是指在IOS,Android 或者Windows SDK编写的应用。

  移动web应用就是在移动端浏览器访问的应用(Safari,Chrome等)。

  混合应用就是原生应用和web应用的结合了。

Appium中使用以下系统自带的自动化框架:

    IOS 9.3 及以上:苹果的XCUITest

    IOS 9.3 及以下:苹果的UIAutomation

    Android 4.2+:谷歌的UiAutomator

    Android 2.3+:谷歌的Instrumentation

    Windows : 微软的WinAppDriver

同时,Appium为了不被限制在特定的语言或框架上来编写运行测试,把以上框架包装进了一套API-WebDriver API。WebDriver 规定了一个客户端-服务端的协议,称为Json Wire protocol,按照这种架构,可以使用任何语言编写的客户端向服务器发送请求。

Appium的核心其实就是暴露了一系列REST API 的server,这个server功能很简单,监听一个端口,接受由客户端发送的命令,然后翻译这些命令,转换成移动设备可理解的形式并发送,移动设备执行完命令,结果返回给Appium server,最后server再把结果返回给客户端。

  1.appium使用adb 向手机/模拟器 部署Bootstrap.jar

  2.Bootstrap.jar 接收 appium发过来的指令

  3.Bootstrap.jar 再次将指令发给uiautomator

  4.uiautomator 执行命令