当前位置: 首页 > article >正文

【iOS自动化】Xcode配置WebDriverAgent

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

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

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

在这里插入图片描述


http://www.kler.cn/a/536888.html

相关文章:

  • GrassWebProxy
  • 深度学习:解码智能的“数字炼金术”
  • MLA 架构
  • 【Kubernetes Pod间通信-第3篇】Kubernetes中Pod与ClusterIP服务之间的通信
  • 【PDF多区域识别】如何批量PDF指定多个区域识别改名,基于Windows自带的UWP的文字识别实现方案
  • GGML、GGUF、GPTQ 都是啥?
  • Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用
  • Android Studio 2024.2.2.13版本安装配置详细教程
  • leetcode 907. 子数组的最小值之和
  • MySql数据库SQL编写规范注意事项
  • 如何保证系统上线不出现bug?
  • 阿里云负载均衡:DDoS 攻击的坚固防线?
  • 单片机通讯中的时序图:初学者的入门指南
  • http cookie的作用学习
  • LM Studio 部署本地大语言模型
  • Spring Security 6.X + JWT + RBAC 权限管理实战教程(下)
  • 【SQL server】关于SQL server彻底的卸载删除。
  • 把bootstrap5.3.3整合到wordpress主题中的方法
  • 电脑连接wifi但是浏览器打开不了网页,使用手机热点能正常使用
  • Java面试题阶段汇总
  • 2.4-数据结构:二叉搜索树
  • 性能优化中的配置优化
  • 深入学习反射
  • 基于asr的所见即可说方案
  • oracle基础语法
  • Ubuntu系统 Zabbix 7.2LTS一键部署脚本