2012-05-29 11 views
6

Ho un set di casi di test automatizzati impostati in strumenti che utilizzano tuneup.js per testare un'app. Ho deciso di utilizzare tuneup.js perché mi permetteva di separare i miei test in singoli casi di test ed eseguire l'intero set da un singolo script, questo funziona bene se tutti i test sono eseguiti correttamente, tuttavia se uno fallisce, tutti i test falliscono come il simulatore è rimasto in uno stato sconosciuto (ho scritto i miei test in modo che tutti inizino e finiscano sulla stessa schermata di login) C'è un modo per resettare il simulatore, o riavviare l'app tra i casi di test?Ripristino simulatore iOS tra i test

+0

Avete mai trovato una soluzione a questo? –

+1

No, sfortunatamente no, ancora guardando ma non ho davvero molte speranze di trovare una soluzione - ho chiesto direttamente ad Apple la domanda quindi aggiornerò se avrò una risposta – ChrisH

+0

Hai ricevuto la risposta da Apple? – RaffAl

risposta

0

Provare ad avviare test dalla riga di comando. L'automazione dell'interfaccia utente consente di eseguire un solo test in un'unica esecuzione. Dopo che il test sarà completato (non importa se è fallito o superato) - l'applicazione sarà presa a calci dal sistema (UIAutomation). Almeno funziona con dispositivi reali.

Lo script di avvio della riga di comando funzionerà nel seguente modo: 1. Legge il file di configurazione (può essere qualsiasi file txt o xml) con percorso per i test. A questo punto avrai un array con percorso per i tuoi test e contano i test totali. 2. Quindi utilizzando il semplice ciclo 'for' (da 1 a 'testcount') avvierà UIAutomation con i parametri richiesti. Uno dei parametri sarà il percorso dello script di test letto dal file di configurazione.

È inoltre possibile inserire il percorso del "file di configurazione" come parametro per lo script di avvio della riga di comando. Ciò ti consentirà di eseguire qualsiasi set di test chiamando semplicemente lo script di avvio con il file di configurazione richiesto.

0

Ho scritto uno script che ripristinerà le impostazioni & di tutte le versioni e dispositivi per il simulatore iOS. Prende i nomi dei dispositivi e i numeri di versione dal menu, quindi includerà tutti i nuovi dispositivi o versioni iOS per cui Apple rilascia i simulatori.

È facile da eseguire manualmente o da utilizzare in un build-script. Suggerirei di aggiungerlo come script di esecuzione pre-azione prima della compilazione.

https://github.com/michaelpatzer/ResetAllSimulators

0

Avere test falliti lasciare la vostra applicazione in uno stato sconosciuto è uno dei principali problemi con l'utilizzo di strumenti strumento di Apple come-è. Abbiamo risolto questo problema in un framework chiamato Illuminator (on GitHub, and inspired by tuneup.js) in due modi.

In primo luogo, abbiamo scritto un automation bridge - un canale per RPC con l'app in fase di test, che ci consente di ripristinare la nostra app prima di ogni test.

Nei casi in cui ciò non sia sufficiente, il conduttore di prova dell'illuminatore ha la possibilità di rieseguire ogni test non riuscito nel proprio lancio pristino del simulatore (ad esempio con --retest 1x,solo).