Appium的工作原理
1.Appium简介
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium支持多种语言,更可以使用Selenium WebDriver的Api。
2.Appium工作原理(Android)
- client端也就是我们 test script是我们的webdriver测试脚本。
- 中间是appium服务端
- appium服务端接收到webdriver客户端的标准rest,解析请求内容为响应指令。(rest:表述性状态转移:是一组架构约束条件和原则)
- 转发给服务端的中间件Bootstrap.jar ,安装在手机上.Bootstrap监听4724端口并接收appium 的命令,通过调⽤用UiAutomator的命令来实现。
- 执行完相应指令之后、Bootstrap将执行的结果返回给appium server。
- appium server再将结果返回给 appium client。
在Android端,appium基于WebDriver协议,利用Bootstrap.jar,
Bootstrap是在目标机器上解析服务端的指令并发送给UiAutomator来执行处理。
2.Appium工作原理(iOS)
在IOS端利用Bootstrap.js,
Bootstrap是在目标机器上解析服务端的指令并发送给UiAutomation来执行处理
其他同上。
补充:
Appium 将请求转发到bootstrap.js或者bootstrap.jar,启动⼀一个socket server端口为4724
安装在手机上bootstrap会监听4724端口并接收appium 的命令,最终通过调⽤ 驱动UIAutomation(iOS上的UI)、UiAutomator(实现App的自动化、是Android SDK自带的App UI自动化测试Java库)、chromedriver以及safaridriver(实现基于H5的自动化)。去devices上完成具体的动作。
有时间将持续跟新,感谢大家支持,有问题请指出,欢迎大家关注!!!!