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

时间:2016-05-17 18:23:01

标签: ios xcode-ui-testing fastlane

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

3 个答案:

答案 0 :(得分:22)

屏幕截图存储在Derived Data文件夹中。你可以通过转到Xcode,Window>找到这个。单击项目,然后单击项目的派生数据路径旁边的小箭头。

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

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

如果这些文件夹中没有任何文件夹,请确保您先运行测试。

要确定您想要的屏幕截图,您需要深入了解* _TestSummaries.plist文件。在Xcode中打开它,然后按照测试摘要向下查看您感兴趣的SubActivity。有些SubActivities没有屏幕截图,并且HasScreenshotData键设置为NO。< / p>

当您找到包含屏幕截图数据的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

答案 1 :(得分:5)

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

答案 2 :(得分:0)

您可以在Xcode -> Report navigator -> select your test

中找到屏幕截图

enter image description here

或转到

DerivedData -> ProjectName... -> Logs -> Test -> find .xcresult -> Show Package Contents -> Attachments