Sono interessato a trovare la posizione di uno screenshot creato durante i test dell'interfaccia utente della mia app. Mi piacerebbe capire come Fastlane Snapshot cattura questo screenshot. Dopo un paio d'ore di ricerche non riesco a trovare la posizione di quegli screenshot.Dove si trova il file screenshot dal test dell'interfaccia utente Xcode?
risposta
Gli screenshot sono memorizzati nella cartella Dati derivati. Puoi trovarlo andando su Xcode, Finestra> Progetti e fai clic sulla piccola freccia accanto al tuo percorso dati derivati per il progetto.
Dalla cartella dati derivata dal progetto (deve essere il nome della cartella con un carico di lettere dopo), passare a Logs/Test
.
All'interno della cartella Test verranno visualizzati i file .plist di test con UUID nel loro nome (uno per prova di esecuzione) e una cartella denominata Attachments
- le schermate sono qui.
Se una di queste cartelle non è presente, assicurati di aver eseguito prima i test.
Per individuare lo screenshot desiderato, è necessario esaminare il file * _TestSummaries.plist. Aprilo in Xcode e segui il riepilogo del test fino alla SubActivity a cui sei interessato. Alcune attività secondarie non hanno screenshot e la chiave HasScreenshotData
è impostata su NO
.
Quando si trova un'Attività secondaria con dati di screenshot, confrontare l'UUID per quella sottoattività con il nome file dello screenshot nella cartella .
Le mie schermate si trovavano a: /Users/{username}/Library/Developer/Xcode/DerivedData/{project_name}-tywebfjsswmghapfjfbzhuazjf/Logs/Test/Attachments
.
Nel file .plist, ho seguito questo percorso per trovare i dettagli dei dati di screenshot per un evento: TestableSummaries > Item 0 > Tests > Item 0 > Subtests > Item 0 > Subtests > Item 0 > ActivitySummaries > Item 1 > SubActivities > Item 0
.
Ottima risposta! Grazie – Robert
@Oletha Sai quali attività causano gli screenshot? Mi sembra che un colpetto causi uno sparo, ma è tutto prova ed errore. – Leo
@Leo Non sono sicuro al 100%, ma la maggior parte dei gesti (tocchi, scorrimento, scorrimento ...) causano schermate e spesso gli screenshot vengono presi anche durante la localizzazione degli elementi o durante la valutazione delle aspettative. Lo strumento snapshot di Fastlane utilizza una rotazione verso un orientamento sconosciuto per attivare un evento screenshot (che non ha alcun effetto sull'app): https://github.com/fastlane/fastlane/blob/master/snapshot/README.md - puoi utilizzare questo se vuoi avere il controllo di alcuni screenshot. :) – Oletha
Stai molto attento con quella cartella !!! Nei sistemi di integrazione continua, può rapidamente riempirsi di milioni di schermate, a quel punto si è completamente rovinati (si esaurirà lo spazio e si spera di provare a 'rm -rf' it). –