【iOS自动化】Xcode配置WebDriverAgent

news/2025/2/8 9:37:57/

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

【重要】环境准备

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

  • 查看版本对应关系:https://developer.apple.com/support/xcode/

📌 如果你的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进行安装:

  • https://xcodereleases.com/?scope=release
如何升级指定版本 MacOS?

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

  • https://support.apple.com/zh-cn/102662

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

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

WebDriverAgent_32">部署 WebDriverAgent

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

git clone https://github.com/appium/WebDriverAgent

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

Xcode 配置

WebDriverAgent__41">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、运行成功

在这里插入图片描述


http://www.ppmy.cn/news/1570296.html

相关文章

力扣240 搜索二维矩阵 ll

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1: 输入:matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,…

探索从传统检索增强生成(RAG)到缓存增强生成(CAG)的转变

在人工智能快速发展的当下,大型语言模型(LLMs)已成为众多应用的核心技术。检索增强生成(RAG)(RAG 系统从 POC 到生产应用:全面解析与实践指南)和缓存增强生成(CAG&#x…

CEF132 编译指南 Windows 篇 - 拉取 CEF 源码 (五)

1. 引言 获取 CEF 132 源码是开始编译工作的前提和关键步骤。在完成 depot_tools 的安装和配置后,我们需要通过正确的方式下载和同步 CEF 的源代码。由于 CEF 项目依赖于 Chromium 的大量组件,因此源码的获取过程需要特别注意同步策略和版本管理&#x…

文件基础IO

理解"文件" 1-1 狭义理解 文件在磁盘里磁盘是永久性存储介质,因此文件在磁盘上的存储是永久性的磁盘是外设(即是输出设备也是输入设备)磁盘上的文件 本质是对文件的所有操作,都是对外设的输入和输出简称IO 1-2 广义理…

前端工程化-vue项目

vue项目-创建 方法1. 命令行: vue create vue-projecto1 方法2. 图形化界面: vue ui 创建好项目后

15.<Spring Boot 日志>

本篇文章将记录我学习SpringBoot日志 1.日志文件的用途 2.SpringBoot日志文件的配置 3.用lombook依赖引入Slf4j注解,从而引入log对象。方便我们打印日志。 一、日志的作用 日志主要是为了发现问题、分析问题、定位问题。除此之外、日志还有许多其他的用途。 1.系统监…

网安学习xss和php反序列后的心得

网安学习xss和php反序列后的心得 xss和Php反序列化的相同和不同点 相同: 两者都依赖用户输入和用户控制的数据触发攻击用户输入的东西可能因为开发者没有过滤彻底被恶意执行 如插入jsp语句 html代码,php反序列之后使得代码嵌入服务器端之后接下来的用…

用NeuralProphet预测股价:AI金融新利器(附源码)

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话:我用NeuralProphet模型预测了股票价格,发现其通过结合时间序列分析和神经网络算法,确实能提供比传统Last Value方法更精准的预测。经过一系列超参数调优…