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进行脚本编写。

相关推荐
ITKEY_2 小时前
macOS flutter开发环境之cocoapods
flutter·macos·cocoapods
前端不太难2 小时前
Flutter / iOS 迁移鸿蒙 ArkUI 的真实成本
flutter·ios·harmonyos
吴佳浩 Alben2 小时前
OpenClaw macOS 完整安装与本地模型配置教程(实战版)
人工智能·macos
好运yoo2 小时前
mac 安装node提示 nvm install v14.21.3 failed可能存在问题
macos
pop_xiaoli2 小时前
iOS—UITableView性能优化
ios·性能优化·objective-c·cocoa·xcode
测试19982 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试用例·接口测试·压力测试·性能测试
老师好,我是刘同学2 小时前
贪心算法与优先队列实战解析
算法·ios·贪心算法
2501_915918412 小时前
iOS App HTTPS 抓包工具,代理抓包和数据线直连 iPhone 抓包的流程
android·ios·小程序·https·uni-app·iphone·webview
少云清2 小时前
【UI自动化测试】2_IOS自动化测试 _使用模拟器
ui·ios