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,并确保它们完全一致。只改一个地方是无效的。

相关推荐
末代iOS程序员华仔3 小时前
iOS 5.6 条例解决方法
flutter·ios·swift
末代iOS程序员华仔9 小时前
Guideline 5.6 - Developer Code of Conduct
flutter·ios·swift
2501_9159184110 小时前
Flutter项目配置iOS混淆的详细步骤与工具推荐
android·flutter·ios·小程序·uni-app·cocoa·iphone
凡泰AI11 小时前
如何通过小程序多端框架,让一个小程序同时运行在iOS、安卓、鸿蒙和微信客户端,实现开发层面的降本增效
android·ios·微信小程序·小程序·harmonyos
2501_915106321 天前
安卓抓包软件2026,免证书抓包 应用层抓包 代理抓包全解析
网络协议·计算机网络·网络安全·ios·adb·https·udp
kango1 天前
Xcode、模拟器Runtime、真机符号完整知识手册
ios·app
用户38034165882971 天前
50MB 红线下的 iOS 录屏引擎:ReplayKit Broadcast Extension 实战
ios
Privasa-隐私实验室1 天前
跨端技术选型|Flutter搭建隐私加密App,安卓与iOS双端差异适配实战
android·笔记·安全·flutter·ios·隐私安全·aes-256
sakiko_2 天前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
未来猫咪花2 天前
Everything is ViewModel:让状态管理回到对象世界
android·flutter·ios