【iOS自动化】Xcode配置WebDriverAgent

WebDriverAgent 是 iOS 端自动化测试的工具,这里记录下 MacOS 环境 Xcode 如何配置 WebDriverAgent。

【重要】环境准备

‼️ 注意:Xcode 版本需要支持对应的 iOS 版本,而 Xcode 版本又依赖 MacOS 版本;在开始部署前,先确定你的Xcode版本是否支持你设备的iOS版本

📌 如果你的Xcode版本不支持对应iOS版本,解决方案如下:

1、Xcode版本小于15,并且 iOS 版本小于 17:

  • 查看当前版本xcode支持iOS设备版本:ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • 下载对应iOS版本压缩包并解压后放到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 目录下,下载地址:https://github.com/filsv/iOSDeviceSupport

2、Xcode版本大于15已经不使用DeviceSupport的方式了:

  • 查看当前 iOS 设备版本需要的 Xcode 版本,以及对应Xcode版本所需要的MacOS版本(版本对应关系:https://developer.apple.com/support/xcode/)
  • 如果当前 MacOS 版本支持对应 Xcode 版本,则直接升级 Xcode 版本即可,如果不支持,则需要先升级 MacOS 版本
  • 升级 Xcode 到支持对应 iOS 设备的版本
如何升级到指定版本 Xcode?

如果当前 MacOS 版本不支持升级最新成Xcode,但是更低版本的 Xcode 能够满足需求的情况下,可以下载指定版本的Xcode进行安装:

如何升级指定版本 MacOS?

如果不想升级到最新版本的 MacOS,则可以选择对应的版本进行下载升级:

我这里使用的环境版本信息如下,仅供参考:

  • MacOS:13.7.3
  • Xcode:15.2
  • iOS:17.2

部署 WebDriverAgent

拉取 Appium 维护的 Wda 代码即可(facebook的19年已经停止维护了):

sh 复制代码
git clone https://github.com/appium/WebDriverAgent

最新的只需要拉取代码即可,不许在执行脚本操作。

Xcode 配置

1、打开 WebDriverAgent 工程

进入WebDriverAgent根目录,使用 Xcode 打开 WebDriverAgent.xcodeproj 文件

2、Xcode 登录 Apple 开发者账号

选择 Settings

点击下面+号添加账户(这里用个人 Apple 账号也可以)

3、配置证书

选中WebDriverAgentLib,开启自动管理签名

选中WebDriverAgentRunner,像WebDriverAgentLib一样设置证书

如果是个人免费版的证书,还需要修改下WebDriverAgent的BundleID,随便加后缀,不要跟别人重复就好

4、运行测试

Scheme 选择 WebDriverAgentRunner

运行测试 Test

5、iOS 信任证书

个人免费证书会弹一下提示,需要在iOS设备设置下:

  • 进入手机 「设置-> 通用-> VPN与设备管理」 找到对应APP信任下即可
  • 设置完成后重新运行下测试即可成功
6、运行成功
相关推荐
深念Y19 分钟前
基于 NapCat 与本地 RAG 的群聊 AI 机器人方案(ARM64 部署)
人工智能·ai·机器人·node.js·自动化·情感陪伴·bot
工业HMI实战笔记19 分钟前
解放双手,声控未来:抗噪语音交互如何革新嘈杂车间的HMI操作体验
人工智能·学习·自动化·制造
代码方舟1 小时前
零信任架构实战:基于天远车辆vin码查车辆信息详版构建自动化汽车金融审批网关
人工智能·架构·自动化·汽车
qq_267612891 小时前
Gitee CodePecker行业场景化落地指南:金融、车联网与IoT双引擎选型与工程化路径
前端·gitee·自动化
跨境小彭1 小时前
Temu运营优化方案:活动库存自动化管控,解决断流、超卖与权重下跌问题
大数据·运维·人工智能·自动化·跨境电商·temu·temu电商运营
AI多Agent协作实战派2 小时前
AI多Agent协作系统实战(三十九):AI修对了Bug,却越了权——自动化团队的第一条铁律
人工智能·自动化·bug
tanglinS2 小时前
工业陶瓷在半导体设备里都用哪里?氮化铝基板与氮化硅结构件的静电无尘角色
大数据·运维·人工智能·自动化·材质
秦渝兴2 小时前
Ansible 自动化部署 K8s 三节点集群(完整教程)
kubernetes·自动化·ansible
梦想的旅途23 小时前
企业微信 API 二次开发:私域场景下的自动化裂变
运维·自动化·企业微信
游戏开发爱好者83 小时前
App Store 上传 IPA 自动化,.p8 密钥认证与 CI/CD 接入实战
android·运维·ci/cd·小程序·uni-app·自动化·iphone