Appium是 c/s模式的appium是基于 webdriver 协议添加对移动设备自化api扩展而成的webdriver 是基于 http协议的,第一连接会建立个 session 会话,并通过 post发送一个 json 告知服务端相关测试信息
IOS 原理图( 来源于:百度 )
appium ios封装了 封装了 封装了 apple 的 Instruments I框架,主要用了 框架,主要用了 Instrument里的 UIAutomation(Apple 的自动化测试框架),然后在设备中注 自动化测试框架),然后在设备中注 入 bootstrap.js 进 行监 听。Client ent是我们编写的 webdriver脚本 ,中间是 appium启动 server (默认监听 4723 端口 ),appium server 调用 instruments.js启动 ⼀一个 socket server ,同时分出一个 ,子进程运⾏instruments.app 将 bootstrap.js(一个 UIAutomation 脚本)注 ⼊入到 devices⽤于和外界进行交 。最后 Bootstrap.js将执行的结果返回给 将执行的结果返回给 appium server ,appium server再将结果返 回给 appium client 。
Android原理图( 来源于:百度)
4.2 以后是基于 uiautomator框架实现查找注入事件的, 框架实现查找注入事件的,框架实现查找注入事件的, 4.2 以前则是 instrumentation i框架的,并封装成一个叫 框架的, Selendroid 这玩意提供服务Client ent是我们编写的 webdriver 脚本。中间是 appium启动 server (默认监听 4723 端口 ),appium server 会把请求转发给中间件 会把请求转发给中间件 Bootstrap.jar ,它是用java写的,安装在 手机上 .Bootstrap监听 4723端口并接收appium 的命令,最终通过调 的命令过调 用 UiAutomator U 的命令来实现。Bootstrap将执行的结果返回给 将执行的结果返回给 appium server 。Appiumserver再将结果返回给 client端。
转载于:https://www.cnblogs.com/leiziv5/p/6427609.html
相关资源:appium原理