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

相关推荐
程序员龙叔10 小时前
火爆全网的 Agent Skills,普通人到底该怎么用?-- 详细教程
软件测试·skill·测试skills
冯汉栩13 小时前
Swift Control RollingCountdownView(动画倒计时)
开发语言·ios·swift
_瑞19 小时前
读懂 iOS 的线程调用栈
ios·编译原理·汇编语言
降临-max21 小时前
Postman断言、数据驱动+Jenkins集成
软件测试·测试工具·postman
末代iOS程序员华仔1 天前
iOS 语聊直播/聊天APP4.3条例被拒解决
flutter·ios·swift
Lucky09281 天前
codex 安装前置软件
linux·运维·macos
Zguigo1 天前
lesson24-26计算机网络第三章精讲:从MAC地址到CSMA/CD,数据链路层核心知识一网打尽
计算机网络·macos
程序员三藏2 天前
自动化测试用例编写详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
EXI-小洲2 天前
MacOS 环境下 IntelliJ IDEA 的 Maven 配置指南
macos·maven·intellij-idea
测试老哥2 天前
Pytest自动化测试框架tep环境变量、fixtures、用例三者之间的关系
自动化测试·软件测试·python·测试工具·测试用例·pytest·职场发展