I'm interested how to find the location of a screenshot which is created during UI Tests of my app. I would like to understand how Fastlane Snapshot grabs this screenshot. After couple of hours of research I can't find location of those screenshots.
相关问题
- Core Data lightweight migration crashes after App
- How can I implement password recovery in an iPhone
- State preservation and restoration strategies with
- “Zero out” sensitive String data in Swift
- Get the NSRange for the visible text after scroll
相关文章
- 现在使用swift开发ios应用好还是swift?
- UITableView dragging distance with UIRefreshContro
- TCC __TCCAccessRequest_block_invoke
- Where does a host app handle NSExtensionContext#co
- Swift - hide pickerView after value selected
- How do you detect key up / key down events from a
- didBeginContact:(SKPhysicsContact *)contact not in
- Attempt to present UIAlertController on View Contr
In Xcode 11, the contents of an .xcresults file changed to no longer include an Attachments folder that's browsable in Finder. You can still download individual attachments from the Test Report as shown in yoAlex5's answer, but to get the attachments without using the Xcode GUI, you have to use Apple's xcresulttool or a third party tool that leverages xcresulttool like xcparse. See this blog post for more information: https://www.chargepoint.com/engineering/xcparse/
To make screenshot you can call the next method
You can find screenshots in
Xcode -> Report navigator -> select your test
Or go to
Screenshots are stored inside your Derived Data folder. You can find this by going to Xcode, Window > Projects and click the little arrow next to your derived data path for the project.
From your project derived data folder (should be the name of your folder with a load of letters after it), go to
Logs/Test
.Inside the Test folder will be test summary .plist files with UUIDs in their names (one per test run) and a folder called
Attachments
- the screenshots are in here.If any of these folders aren't there, make sure you've run the tests first.
To work out which screenshot you want, you'll need to dig through the *_TestSummaries.plist file. Open it in Xcode and follow the test summary down to the SubActivity you're interested in. Some SubActivities don't have screenshots, and will have the
HasScreenshotData
key set toNO
.When you find a SubActivity with screenshot data, match the UUID for that SubActivity with the filename of the screenshot in the
Attachments
folder.My screenshots were located at:
/Users/{username}/Library/Developer/Xcode/DerivedData/{project_name}-tywebfjsswmghapfjfbzhuazjf/Logs/Test/Attachments
.In the .plist, I followed this path to find details of the screenshot data for an event:
TestableSummaries > Item 0 > Tests > Item 0 > Subtests > Item 0 > Subtests > Item 0 > ActivitySummaries > Item 1 > SubActivities > Item 0
.