Xcode 11 Export for Localization 不起作用,Include Screenshots 功能被禁用,并且在测试日志中找不到 XCUITest 屏幕截图附件

Posted

技术标签:

【中文标题】Xcode 11 Export for Localization 不起作用,Include Screenshots 功能被禁用,并且在测试日志中找不到 XCUITest 屏幕截图附件【英文标题】:Xcode 11 Export for Localization not working, Include Screenshots feature disabled, and can not find XCUITest screenshot attachments in the test logs 【发布时间】:2019-10-08 00:45:16 【问题描述】:

我在使用 Xcode 11 上的“本地化导出”功能导出屏幕截图时遇到问题。 我目前正在创建 XCUITest 套件,我在其中测试应用程序的某个 UI 功能,并且我想在每个测试用例通过时截取应用程序的每个页面。

我正在使用 xctestplan,在 Shared Settings->Configurations->UI 测试下,我有

自动截图 = 开启 本地化屏幕截图 = 开启 附件 = 开启,全部保留

但是,在我运行测试后,当我选择 Editor->Export for Localization 时,我无法选择“Include Screenshots”。此外,它还会给我一个黄色警告标志,上面有“本地化问题的屏幕截图”之类的文字。

另外,测试通过后,我可以将图片 screenshot.png 定位为报告导航器中列出的附件,以及标题为“本地化屏幕截图”的屏幕截图,但目前我无法导出它们,除非我手动一个一个地浏览它并通过右键单击保存每个文件。

我希望能够导出这些屏幕截图并将它们收集到指定的目录文件夹中,而无需手动遍历所有屏幕来保存每张图像。

我尝试过: 1.清理构建文件夹,删除派生数据中的日志 /users/'ID'/Developer/Xcode/DerivedData 2. 在 UItests 方案和实际的应用程序方案下运行它(可执行的) 3.删除模拟器上的所有内容和设置,退出Xcode并重启Mac,然后重启Xcode

【问题讨论】:

【参考方案1】:

我的工作场所开源了一个名为 xcparse 的工具,它允许您从 Xcode 11 (https://github.com/ChargePoint/xcparse) 中的新 xcresult 格式导出屏幕截图。你可以安装 Homebrew:brew install chargepoint/xcparse/xcparse

【讨论】:

感谢您的回复,这对我有用,现在我可以导出作为附件添加到测试用例的屏幕截图。如果我能进一步跳过获取 xcresult 文件的步骤,那就太好了,但仍然非常感谢!

以上是关于Xcode 11 Export for Localization 不起作用,Include Screenshots 功能被禁用,并且在测试日志中找不到 XCUITest 屏幕截图附件的主要内容,如果未能解决你的问题,请参考以下文章

xcrun xcodebuild ** EXPORT FAILED ** 安装 Xcode9 后

包括 local_policy 和 US_export_policy [JCE 无限强度] [重复]

shell中的环境变量:local,global,export

使用 RCT_EXPORT_METHOD 语法时,如何修复 Xcode 上的“忽略方法主体之前的分号”错误?

Xcode 11 Firebase auth for Mac app has error 访问钥匙串时出错

SwiftUI Xcode 11 beta 7 @Binding for collections 正在打破预览