如何停止Xcode UITests的明暗主题、横竖屏及本地化排列运行?
禁用Xcode UITests的主题、横竖屏及本地化排列组合
一、永久关闭明暗配色主题排列
Xcode默认会针对明暗主题分别运行测试,要永久关闭该行为,修改UI测试目标的Scheme设置即可:
- 打开Scheme编辑器(顶部菜单栏
Product > Scheme > Edit Scheme,或按⌘ + <) - 选择左侧
Test选项卡 - 切换到
Options标签页,取消勾选Dark Appearance选项- 操作后测试仅在系统默认浅色主题下运行,直接减少2倍重复执行次数
二、关闭横竖屏方向排列
若无需测试横竖屏切换,同样在Scheme的Test设置中调整:
- 进入Scheme编辑器的
Test > Options标签页 - 在Orientation下拉菜单中,选择固定方向(如
Portrait竖屏),替代默认的Both选项- 测试将仅在指定方向运行,避免横竖屏导致的重复执行
三、禁用本地化多语言排列
要让测试仅在指定语言环境下运行,有两种实现方式:
方式1:通过Scheme固定语言
- 打开Scheme编辑器的
Test > Options标签页 - 在Application Language下拉菜单中,选择目标特定语言(如简体中文或
English),替代默认的System Language - 同时在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
相关产品推荐
相关产品推荐

