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

Xcode9 Server上MacOS UI Tests目标配置问题求助

解决Xcode9 Server上Mac应用UI测试的Destination问题

我之前也踩过Xcode Server运行Mac UI测试的这个坑,结合自己的调试经验,给你几个可行的解决方向:

1. 确认Scheme的共享与目标配置

首先登录到Xcode Server所在的Mac机器上,打开你的项目:

  • 进入Product > Scheme > Manage Schemes,确保你的UI Tests scheme已经勾选了Shared,这样配置才能同步到服务器。
  • 编辑该scheme,切换到Test标签页,检查是否勾选了正确的Mac测试目标,并且这个目标在服务器的环境下是可用的(比如架构匹配)。

2. 修正-destination参数的格式与内容

你之前添加的参数可能因为格式或目标描述不准确被忽略了,试试这些更可靠的写法:

  • 使用服务器上Mac设备的名称:
    -destination "platform=macOS,name=你的Mac设备名称"
    
    设备名称可以在服务器的Xcode中通过Window > Devices and Simulators查看Mac设备的名称。
  • 或者直接使用设备UUID:
    -destination "platform=macOS,id=设备UUID"
    
    UUID可以通过终端执行xcrun simctl list devices(针对模拟器)或者在设备管理器中查看真实Mac的UUID。
    注意:尽量用双引号包裹参数,避免解析错误。

3. 检查Xcode Server的权限设置

Xcode Server的运行账号可能缺少UI测试所需的权限:

  • 打开Xcode的Preferences > Server & Bots,选中你的服务器,进入Permissions标签页,确保运行机器人的账号拥有管理员权限,或者至少有访问测试项目和设备的权限。
  • 手动登录一次服务器上的该运行账号,打开Xcode并运行一次UI测试,确保系统已经授予Xcode辅助功能权限(如果弹出权限请求,务必允许)。

4. 直接在机器人配置中指定测试目标

别再手动加参数了!有些版本的Xcode Server在机器人的配置页面里,Test板块可以直接选择测试目标:

  • 编辑你的机器人,找到Test部分,看看是否有Destination的选择项,直接选择服务器上的Mac设备,这样Xcode Server会自动生成正确的xcodebuild参数,避免手动添加被忽略的问题。

你遇到的错误提示:

"No destinations were specified with the -destination flag which were valid for the specified scheme 'UI Tests'"

本质就是服务器找不到符合条件的测试目标,以上几个方法应该能帮你定位并解决问题。

内容的提问来源于stack exchange,提问作者Wizard of Kneup

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:59:02