【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、运行成功
相关推荐
二流小码农2 小时前
鸿蒙开发:Canvas绘制之画笔对象Pen
android·ios·harmonyos
A~taoker3 小时前
jmeter接口自动化+ant执行(方案)
运维·jmeter·自动化
90后的晨仔3 小时前
Swift基础知识(三)
ios
90后的晨仔3 小时前
Swift基础知识(二)
ios
90后的晨仔4 小时前
Swift 基础知识(一)
ios
马拉萨的春天5 小时前
mac 下配置flutter 总是失败,请参考文章重新配置flutter 环境MacOS Flutter环境配置和安装
flutter·macos
yinshuilan5 小时前
Tabby 一:如何在Mac配置保姆级教程(本地模型替换hugging face下载)
macos·ai编程·tabby·ai模型
米粒宝的爸爸5 小时前
mac idea的快捷键
macos
遇见火星5 小时前
自动化发布工具CI/CD实践Jenkins部署与配置教程
servlet·ci/cd·自动化·jenkins·自动化发布
遇见火星5 小时前
自动化发布工具CI/CD实践Jenkins各配置功能介绍和管理!
ci/cd·自动化·jenkins·自动化发布