Appium作为一个开源的、跨平台的自动化测试工具,适用于测试原生或混合型移动App,它使用WebDriver协议驱动IOS,Android和Windows应用程序
appium驱动iOS测试原理
XCUITest是苹果开发的一个做IOS自动化测试的框架,WebDriverAgent是Facebook开发的一个iOS自动化测试工具

WDA在Client创建了一个Server,在手机端安装了一个叫作WebDriverAgentRunner 的一个应用;这个应用会接收来自 Server 的指令,并连接底层的XCTest.framwork,让 XCTest.framwork 调用苹果API来操作手机进行自动化
Appium 很粗暴的把整个 WebDriverAgent 直接集成到自己的项目里,然后通信机制就走 WebDriverAgent,Appium 其实就提供了一个 Client 端的作用。所以 iOS 9.3 系统之后自动化测试核心是 WebDriverAgent,Appium 就提供了一个 Client 端来写脚本和发送指令。
appium 服务端安装 查看 appium --version 启动服务 appium
提前安装 XCUITestDriver 和 xcuitest
在对应的python环境中安装 Appium-Python-Client
python3 -m venv .venv
source .venv/bin/activate
pip install Appium-Python-Client
启动 appium 服务器

配置好
需 Apple 开发者账号(免费个人账号可用)
设备 UDID 获取:Xcode > Window > Devices and Simulators > 选中设备查看
证书配置:在 Xcode 中启用自动签名(Automatically manage signing)
appium inspector 客户端 启动 session

找到按钮位置

1.元素定位方法
element = driver.find_element_by_accessibility_id("sign")
2 .iOS NSPredicate
name == "登录" AND label == "登录" AND value == "登录"
使用自带的命令操作截屏