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

如何停止Xcode UITests的明暗主题、横竖屏及本地化排列运行?

禁用Xcode UITests的主题、横竖屏及本地化排列组合

一、永久关闭明暗配色主题排列

Xcode默认会针对明暗主题分别运行测试,要永久关闭该行为,修改UI测试目标的Scheme设置即可:

  1. 打开Scheme编辑器(顶部菜单栏Product > Scheme > Edit Scheme,或按⌘ + <)
  2. 选择左侧Test选项卡
  3. 切换到Options标签页,取消勾选Dark Appearance选项
    • 操作后测试仅在系统默认浅色主题下运行,直接减少2倍重复执行次数

二、关闭横竖屏方向排列

若无需测试横竖屏切换,同样在Scheme的Test设置中调整:

  1. 进入Scheme编辑器的Test > Options标签页
  2. 在Orientation下拉菜单中,选择固定方向(如Portrait竖屏),替代默认的Both选项
    • 测试将仅在指定方向运行,避免横竖屏导致的重复执行

三、禁用本地化多语言排列

要让测试仅在指定语言环境下运行,有两种实现方式:

方式1:通过Scheme固定语言

  1. 打开Scheme编辑器的Test > Options标签页
  2. 在Application Language下拉菜单中,选择目标特定语言(如简体中文或English),替代默认的System Language
  3. 同时在Application Region中指定固定区域,避免区域差异带来的额外排列

方式2:测试代码中强制设置语言

若需要更灵活的控制,可在UI测试的setUp()方法中添加代码,强制应用使用指定语言:

override func setUp() {
    super.setUp()
    let app = XCUIApplication()
    // 强制设置应用语言为简体中文
    app.launchArguments += ["-AppleLanguages", "(zh-Hans)"]
    app.launchArguments += ["-AppleLocale", "zh_CN"]
    app.launch()
}

该方式会覆盖系统和Scheme的语言设置,确保测试仅在指定语言环境下执行。

四、一次性关闭所有额外排列

若希望测试仅运行一次,同时关闭主题、横竖屏、本地化的所有排列,只需将上述三项设置全部调整为固定值:

  • 取消Dark Appearance勾选
  • 固定Orientation为单一方向
  • 固定Application Language和Application Region为特定值

无论项目有多少种本地化语言,测试都只会执行一次,大幅缩短整体耗时。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 06:34:56