当前位置: 首页 > article >正文

appium 的工作原理

**

安卓:

**

1.1 appuim 基于 uiautomator2 的原理

appium 服务启动后默认在 4723 端口上创建一个 http 服务,脚本通过服务地址
http://xxxx:4723/wd/hub 和 appium 进行通信
在 初 始 化 脚 本 和 appium 连 接 的 过 程 中 appium 会 向 手 机 就 安 装 辅 助 app
uiautomator2.server.apk 和 uiautomator2.server.test.apk,并且做端口转发 adb forward tcp 8200 tcp 6790,安装以后会在手机上启动 uiautomator2 的 server,这个 server 启动后会在手机上创建一个 netty server,端口是 6790,appium 和手机上的 uiautomator2 server的 6790 端口进行通信,把从 4723 端口收到的脚本指令通过 8200 端口转发到手机的 6790端口上

1.2 appium 基于 uiautomator1 的原理

Appium 服务启动后默认在 4723 端口上创建一个 http 服务,脚本通过服务地址
http://xxxx:4723/wd/hub 和 appium 进行通信在初始化脚本和 appium 连接的过程中 appium 会向手机发送 AppiumBootstrap.jar,并且 做 端 口 转 发 adb forward tcp 4724 tcp 4724, 安 装 以 后 会 在 手 机 上 启 动AppiumBootstrap.jar,启动后会在手机上创建一个 socket 服务,端口是 4724,appium 和手机上的 socket 服务的 4724 端口进行通信,把从 4723 端口收到的脚本指令通过 4724端口转发到手机的 4724 端口上

1.3 appium 基于 chromedriver 的原理,

测试 H5 时使用appium 服务启动后默认在 4723 端口上创建一个 http 服务,脚本通过服务地址http://xxxx:4723/wd/hub 和 appium 进行通信在初始化脚本和 appium 连接的过程中会启动 chromedriver 创建一个 http 服务,端口是 8000,appium 和 chromedriver 的服务通过 8000 端口进行通信,chromedriver 服务接收到 appium 指令后去操作手机,操作完成再返回给 appium,appium 再返回给脚本

**

IOS 手机:

**Appium 服务启动后默认在 4723 端口上创建一个 http 服务,脚本通过服务地址http://xxxx:4723/wd/hub 和 appium 进行通信在初始化脚本和 appium 连接的过程中会向手机编译安装 webdriveragent app,并且启动 wda 在手机上创建一个基于 8100 的 http 服务,appuim 通过 4723 的端口接收到脚本传递的指令,appium 再通过本地的 8100 端口将收到的指令转发给手机上 8100 wda 服务,wda服务接收到指令再去操作待测 app,操作完成后返回给 appium 操作结果,appium 再将结果返回给脚本


http://www.kler.cn/a/369743.html

相关文章:

  • PySide(PyQT)进行SQLite数据库编辑和前端展示的基本操作
  • android 音视频系列引导
  • 算法随笔_31:移动零
  • web集群
  • 计算机网络之计算机网络主要性能
  • 【LLM】deepseek多模态之Janus-Pro和JanusFlow框架
  • 【教程】如何查看IEEE会员证书Membership Card
  • OpenCV中的坐标运算 [C#]
  • 记录一个容器间访问不通问题
  • 学习记录:js算法(七十八):划分字母区间
  • webpack常用插件有哪些??
  • .NET 8 中的 Mini WebApi
  • Pandas行转列与列装行
  • 本地docker部署中间件和应用
  • 使用 v-html 指令渲染的标签, 标签内绑定的 click 事件不生效
  • Linux开放端口问题(同一局域网)
  • Django入门教程——动态表格分页展示数据
  • 指令(一):Android OS实用指令
  • 【入驻电商平台指南】ISV入驻京东平台申请流程
  • Redis内部数据结构Dict结构详解
  • 关于写“查看IT设备详细信息”接口的理解
  • PostgresSql 常用运维命令
  • 【大数据学习 | Zookeeper】Zookeeper的选举机制
  • 《使用Gin框架构建分布式应用》阅读笔记:p212-p233
  • 解锁AI潜力:揭秘高效人工智能数据准备的奥秘
  • 使用Claude新功能分析数据文件