You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Expo与Appium在iOS真机搭建E2E测试?解决签名失败问题

Appium与Expo集成真机测试方案及代码签名问题解决

一、Appium与Expo真机测试的可行性

完全可以实现Appium与Expo在iOS真机上的集成测试,核心是先将Expo应用转换为原生iOS工程,再配合Appium的XCUITest驱动执行测试,具体操作如下:

  • 导出Expo原生工程:使用Expo CLI生成可编译的iOS原生项目,执行命令 eas build -p ios --profile development(适配EAS构建)或 expo prebuild(生成本地原生工程),得到Xcode可识别的工程文件。
  • 配置Appium Desired Capabilities:指定真机UDID、应用Bundle ID、导出的应用包路径,同时配置Xcode签名相关参数,示例配置如下:
const capabilities = {
  platformName: 'iOS',
  'appium:deviceName': '你的iOS设备名称',
  'appium:udid': '设备UDID',
  'appium:bundleId': 'Expo应用的Bundle ID',
  'appium:app': '/本地路径/导出的应用包.ipa',
  'appium:automationName': 'XCUITest',
  'appium:xcodeOrgId': 'Apple开发者团队ID',
  'appium:xcodeSigningId': 'iPhone Developer'
};
  • 预验证应用可用性:先手动将导出的应用包安装到真机,确认应用能正常启动后,再启动Appium测试。

二、代码签名失败问题解决

针对Appium启动真机测试时的代码签名错误,可按以下步骤排查修复:

  • 确认设备与账号关联:登录Apple开发者后台,检查该iOS真机的UDID已添加到设备列表中,且你的开发者账号拥有该设备的测试权限。
  • 配置Xcode自动签名:打开导出的Xcode工程,进入Signing & Capabilities面板,选择正确的开发者Team,勾选Automatically manage signing,让Xcode自动生成并匹配Provisioning Profile。
  • 核对Appium签名参数:确保Desired Capabilities中的xcodeOrgId为开发者后台的Team ID,xcodeSigningId设置为iPhone Developer(开发环境)或iPhone Distribution(分发环境)。
  • 清理重建应用包:在Xcode中执行Product -> Clean Build Folder,重新编译生成.app或.ipa文件,避免旧签名缓存导致的问题。
  • 信任开发者证书:在iOS真机的设置 -> 通用 -> VPN与设备管理中,找到你的开发者账号证书并点击信任。

内容的提问来源于stack exchange,提问作者Hellen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:20:08