mac搭建基于wda\airtest 的iOS自动化测试环境

在IOS平台进行Airtest测试,需要进行如下部署:

1、本地安装airtest库

打开终端输入命令安装Airtest库及其依赖项:

复制代码
pip install airtest

安装用于连接iOS设备的wda库:

复制代码
pip install -U facebook-wda

2.使用iOS-Tagent 工具来部署 iOS 真机

在当前mac生成ssh密钥,添加代理后生成并配置SSH公钥到GitHub。http://t.csdnimg.cn/2i6JI?spm=1011.2480.3001.8118

克隆iOS-tagent项目至本地

复制代码
git clone https://github.com/AirtestProject/iOS-Tagent.git

3.下载xcode,连接真机,启动iOS-Tagent

配置xcode开发者账号(可找iOS开发获取开发者账号支持:提供apple账号-开发者账号发送邀请-通过邀请)。

打开Xcode,只开发调试不发布app可通过xcode自动生成开发者证书。选择Team为自己的开发者账号,勾选自动生成开发证书

打开Xcode settings添加开发者账号。

这里坑特别多,建议提前把mac、iPhone、xcode都升级至最新系统,由于体型较大临时更新很慢,不更新很容易不匹配。

Xcode15.4以上选择真机运行时,需下载iOS17模拟器,但最坑的是直接根据Xcode运行目标设备中的提示点击"Get"下载总是中断,且无法断点续传,解决方法是官网自行下载iOS_17_Simulator_Runtime

苹果模拟器资源地址

下载完成后

使用命令行按照以下步骤进行安装:

复制代码
sudo xcode-select -s /Applications/Xcode.app //新版本需要sudo权限 xcodebuild -runFirstLaunch xcrun simctl runtime add "~/Downloads/iOS_17.5_Simulator_Runtime.dmg"

执行完成,xcode即可显示真机设备

启动Test,在菜单栏 product -> Clean Build Folder 之后,再 product -> Test 启动。

启动成功后Xcode控制台出现截图地址时,在手机上安装WDA完成。

4.设置代理

安装 Homebrew

复制代码
/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

通过 Homebrew 安装iproxy:

复制代码
brew install libimobiledevice

运行iproxy:

复制代码
iproxy 8100 8100

在浏览器访问 http://127.0.0.1:8100/status

如果显示无法连接,尝试访问:http://localhost:8100/status

如图所示则代表设置成功。

5.下载并打开AirtestIDE,连接设备

数据线连接手机至设备且WDA运行状态,可直接看到设备信息,点击连接。

如果由于版本问题无法显示手机窗口,可通过远程连接:

在Xcode的log窗口看到的ServerURLHere->http://localhost:8100<-ServerURLHere,可以直接用地址 http://localhost:8100 进行连接,在 AirtestIDE 的设备窗口输入地址,点击连接。(注,远程连接需iOS和Mac在同一个局域网下)

可以在编辑窗口开始编辑脚本。(这里的坑是IDE与macOS14.6系统有个兼容bug导致IDE脚本编辑窗黑屏无法输入)

解决方案是脱离IDE编辑器使用pycharm进行脚本编写。

相关推荐
一只AI打工虾的自我修养1 小时前
DeepSeek V4.1 vs Ollama vs LocalClaw:Mac本地AI工具横评
人工智能·windows·macos
MonkeyKing1 小时前
iOS 循环引用深度解析:delegate/block/NSTimer/嵌套闭包
ios
泉木1 小时前
KVO 详解 —— iOS/ObjC 完整学习指南
ios·objective-c
拂晓 AI 编程1 小时前
Mac 本地跑 GUI Agent:4B 模型实现云端效果
macos
MonkeyKing2 小时前
iOS AutoreleasePool 深度解析:原理、Page结构与释放时机
ios
薛定猫AI2 小时前
【深度解析】Gemma Chat:基于 MLX 的 Mac 离线 Coding Agent 架构与实战
macos·架构
报错小能手2 小时前
Swift经典面试题汇总
开发语言·ios·swift
迷途酱2 小时前
Swift 真的被搞得乱七八糟了吗?写了几年之后说点实话
ios·swift
夏沫琅琊2 小时前
Mac 上用 Homebrew 安装 DB Browser for SQLite 时,被 Homebrew 自动更新卡住了
数据库·macos·sqlite
唐诺2 小时前
iOS UI 框架详解
ui·ios