Appium工作原理
一、Appium简介
Appium是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台。Appium驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。
二、Appium优势
1、跨平台、设备支持安卓、IOS支持原生、混合、移动web类型应用测试
2、可以跨app,多个APP之间交互
3、跨语言, java/python/ruby
4、开源
5、不依赖APP开源代码
三、App类型简介
native app是一个原生程序,运行在机器操作系统上,有很强的交互,一般静态资源都是在本地的。浏览使用方便,体验较好。在实现上要么使用Objecttive-c和cocoaTouch Framework撰写iOS程序,要么选择java+Android Framework撰写android应用程序。
web app是浏览器里的应用,只能运行在浏览器上,不再是操作系统。资源一般都在网络上。与一般的网站相同。
hybrid app是一个半原生程序,伪造了一个浏览器的apk/ipa原生程序,把地址写死了,然后里面运行了一个webapp。里面是WebView UI 。但是还是运行在机器的操作系统上,交互较弱,资源一般在本地或者网络都可以。浏览体验度没有原生的好。
四、Appium原理
-
Appium工作过程
1、使用java/python/ruby编写测试脚本(appium client)
2、首先需要有一个Appium Server服务端口号为4723,Appium Server⽀持标准的WebDriver JSON Wire Protocol协议,它的作用就是用来解析测试脚本生成的请求。
3、Appium Server服务将解析后的请求转发给设备上的中间件Bootstrap.jar或者instruments.js端口号是4724。
4、Bootstrap.jar或者instruments.js接收到请求后调用相关的测试框架执行测试并将测试返回给Appium Server
5、Appium Server又将结果返回给appium client。
-
Appium原理图