webdriveragent setup教程

要在Mac上成功安装和配置WebDriverAgent(WDA)以进行iOS自动化测试,请遵循以下详细步骤。整个过程涉及环境准备、依赖安装、项目配置、签名设置和运行验证。

一、环境准备与依赖安装

  1. 系统与工具要求:

◦ macOS:建议10.14及以上版本。

◦ Xcode:最新稳定版本,并确保其版本支持您iOS设备的系统版本。您可以在苹果官方支持页面(https://developer.apple.com/support/xcode/)查看版本对应关系。

◦ Homebrew:Mac包管理器,用于安装其他依赖。

  1. 安装必要依赖:

打开终端(Terminal),执行以下命令:

安装Homebrew(如果尚未安装)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

使用Homebrew安装依赖

brew install libimobiledevice

brew install carthage

brew install node # 如果后续需要结合Appium使用1,5

二、获取与配置WebDriverAgent项目

  1. 克隆项目:

建议使用Appium维护的版本(更新更稳定)。

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

cd WebDriverAgent

  1. 安装Carthage依赖:

在项目根目录执行引导脚本。

./Scripts/bootstrap.sh

注意:如果脚本执行报错,可能需要安装特定版本的Node.js和npm。

三、Xcode项目配置与签名(关键步骤)

这是解决您之前遇到的"通信失败"问题的核心环节。

  1. 打开项目:

在Finder中双击 WebDriverAgent.xcodeproj 文件,用Xcode打开。

  1. 添加Apple ID账户:

在Xcode顶部菜单栏,点击 Xcode -> Settings... -> Accounts,点击左下角"+"号添加您的Apple ID(个人账号即可)。

  1. 配置签名(针对两个Target):

在Xcode项目导航器左侧,点击项目名称,在中间面板的"TARGETS"下,分别对 WebDriverAgentLib 和 WebDriverAgentRunner 进行如下操作:

◦ 选中 WebDriverAgentLib。

◦ 在右侧选择 "Signing & Capabilities" 标签页。

◦ 勾选 "Automatically manage signing"。

◦ 在 "Team" 下拉框中,选择您刚添加的Apple ID(例如"Personal Team")。

◦ 重复以上步骤,为 WebDriverAgentRunner 进行同样配置。

  1. 修改Bundle Identifier(仅限个人免费账号):

如果您使用的是免费Apple ID,Xcode会自动在原始Bundle ID后添加后缀(如 com.facebook.WebDriverAgentRunnerRhystest)。如果自动添加的后缀仍导致冲突,您可以手动将其修改得更独特,例如加上日期戳。

四、构建、运行与验证

  1. 选择运行目标:

◦ 在Xcode顶部工具栏的Scheme选择器中,确保选中 WebDriverAgentRunner。

◦ 在设备选择器中,选择您已通过USB连接的iOS真机(或模拟器)。

  1. 运行测试:

点击Xcode顶部菜单栏的 Product -> Test(或按快捷键 Cmd+U)。

◦ 首次运行可能会提示输入Mac登录密码以访问钥匙串,请允许。

◦ 如果使用个人免费证书,手机会提示"未受信任的开发者"。请到iPhone的 设置 -> 通用 -> VPN与设备管理(或描述文件与设备管理) 中,信任您的Apple ID证书。

  1. 验证安装:

运行成功后,查看Xcode控制台输出。您会看到类似 ServerURLHere->http://<设备IP>:8100 的日志。

◦ 在Mac的浏览器中访问 http://<设备IP>:8100/status。

◦ 如果页面返回一个包含"value"等字段的JSON数据,则表明WDA服务已成功启动。

五、常见问题与注意事项

• 签名失败:如您之前遇到的问题,多由免费账号限制引起。确保为两个Target都正确设置了签名团队,并在手机上信任了开发者证书。终极解决方案是加入付费的Apple Developer Program。

• 端口无法访问:部分国产iPhone可能无法直接通过IP访问。可以使用 tidevice 工具进行端口转发:tidevice relay 8100 8100。

• 版本兼容性:务必确保Xcode版本支持您iOS设备的系统版本,否则可能无法识别设备。

按照以上步骤操作,您应该能在Mac上成功搭建

WebDriverAgent环境。

如果在遇到错误

  1. Your team has no devices...: 这是主因。即使手机已连接,Xcode的自动签名流程可能没有成功在后台将其注册到您的账号下。

  2. No profiles for 'com.facebook...' were found: 这是上一个问题导致的结果。由于没有设备,Xcode无法生成有效的配置文件。

则需要为整个WebDriverAgent项目中的三个Target都修改Bundle ID,并确保它们完全一致。只改一个地方是无效的。

相关推荐
茶底世界之下2 天前
为什么预览、录制、离线导出不能共享同一个背压策略?
ios·swift
2501_916007472 天前
苹果商店iOS应用上架费用全面解析:开发者计划与审核费用计算
android·ios·小程序·https·uni-app·iphone·webview
2501_916008892 天前
如何实现iOS App代码混淆:SwiftShield使用指南
android·ios·小程序·https·uni-app·iphone·webview
2501_915909062 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_916008893 天前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
2501_915918413 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
终端安全笔记3 天前
iOS 27 之后「策略空转」:设备升级不报错,但旧策略不再管它
android·网络·安全·ios·智能手机
9765033354 天前
iOS 上架 4.3a 被拒【uniapp专讲】
flutter·ios·objective-c·uniapp·swift
黑化旺仔4 天前
【OC】KVO
macos·ios·objective-c·cocoa
HouWan4 天前
SwiftUI 小技巧:如何读取 SwiftUI Font 的详细信息
ios·swiftui·apple