2016-05-17 37 views
9

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?

+0

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). –

risposta

10

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.

+0

Ottima risposta! Grazie – Robert

+0

@Oletha Sai quali attività causano gli screenshot? Mi sembra che un colpetto causi uno sparo, ma è tutto prova ed errore. – Leo

+1

@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