前言
Appium 是一款开源的跨平台移动应用 UI 自动化测试框架,支持 Android、iOS 和 Windows 平台的原生(Native)、混合(Hybrid)及移动 Web 应用。其核心设计基于 WebDriver 协议(即 Selenium WebDriver 的 W3C 标准),通过客户端-服务器(C/S)架构(常见面试题)实现多语言支持和高扩展性。
一、核心架构与工作原理
-
C/S 架构分层
-
客户端(Client):测试脚本(支持 Java、Python、Ruby、C# 等语言),通过 HTTP 请求与 Appium 服务端通信,使用 JSON Wire 协议封装指令。
-
服务端(Server):基于 Node.js 编写的 HTTP 服务器,监听
4723
端口,接收客户端指令并转发至移动设备。 -
设备端代理(Bootstrap):
-
Android:服务端推送
Bootstrap.jar
到设备,监听4724
端口,将指令转换为 UIAutomator API 执行操作(Android 4.2+)。 -
iOS:通过
Bootstrap.js
调用苹果的 UIAutomation 框架。
-
-