来自Xcode UI Test的截图文件在哪里?

Rob*_*ert 15 ios xcode-ui-testing fastlane

我很感兴趣如何找到在我的应用程序的UI测试期间创建的屏幕截图的位置.我想了解Fastlane Snapshot如何抓取此屏幕截图.经过几个小时的研究,我无法找到这些截图的位置.

Ole*_*tha 26

屏幕截图存储在Derived Data文件夹中.您可以通过转到Xcode,Window> Projects并单击项目的派生数据路径旁边的小箭头来找到它.

从您的项目派生数据文件夹(应该是您的文件夹的名称后面加载了字母),转到Logs/Test.

Test文件夹内部将是测试摘要.plist文件,其名称中包含UUID(每个测试运行一个)和一个名为的文件夹Attachments- 屏幕截图位于此处.

如果不存在任何这些文件夹,请确保先运行测试.

要确定您想要的屏幕截图,您需要深入了解*_TestSummaries.plist文件.在Xcode中打开它并按照您感兴趣的SubActivity进行测试摘要.有些SubActivities没有截屏,并且将HasScreenshotData密钥设置为NO.

当您找到带有屏幕截图数据的SubActivity时,请将该SubActivity的UUID与文件Attachments夹中屏幕截图的文件名相匹配.

我的截图位于:/Users/{username}/Library/Developer/Xcode/DerivedData/{project_name}-tywebfjsswmghapfjfbzhuazjf/Logs/Test/Attachments.

在.plist中,我按照此路径查找事件的屏幕截图数据的详细信息:TestableSummaries > Item 0 > Tests > Item 0 > Subtests > Item 0 > Subtests > Item 0 > ActivitySummaries > Item 1 > SubActivities > Item 0.


Gin*_*ane 22

在 Xcode 11 中,.xcresults 文件的内容已更改为不再包含可在 Finder 中浏览的附件文件夹。您仍然可以从测试报告中下载单个附件,如 yoAlex5 的回答所示,但要在不使用 Xcode GUI 的情况下获取附件,您必须使用 Apple 的 xcresulttool 或利用 xcresulttool 的第三方工具,如xcparse。有关更多信息,请参阅此博客文章:https : //www.chargepoint.com/engineering/xcparse/

  • 太感谢了。这让我发疯。 (2认同)

yoA*_*ex5 6

您可以在中找到屏幕截图 Xcode -> Report navigator -> select your test

在此处输入图片说明

或去

DerivedData -> ProjectName... -> Logs -> Test -> find .xcresult -> Show Package Contents -> Attachments
Run Code Online (Sandbox Code Playgroud)