Stiamo costruendo un'applicazione Android complessa composta da molti schermi e flussi di lavoro distribuiti su molte attività. I nostri flussi di lavoro sono simili a quelli che potresti vedere sugli sportelli bancomat di una banca, ad esempio, c'è un Activity
per accedere in quelle transizioni a un menu principale Activity
che può passare ad altre attività in base alle scelte dell'utente.Come si esegue il test di un'applicazione Android su più attività?
Poiché abbiamo così tanti flussi di lavoro, abbiamo bisogno di creare test automatici che abbracciano più attività in modo da poter testare un flusso di lavoro da un capo all'altro. Ad esempio, utilizzando l'esempio ATM, vorremmo inserire un PIN valido, verificare che ci invii al menu principale, scegliere prelevare contanti, verificare che ci troviamo sullo schermo di prelievo, ecc. Ecc., E alla fine ritrovarci torna nel menu principale o "disconnesso".
Abbiamo giocato con l'API di prova che vengono con Android (ad esempio ActivityInstrumentationTestCase2
) e anche con Positron, ma nessuno sembra in grado di test oltre i limiti di un solo Activity
, e mentre siamo in grado di trovare qualche utilità in questi strumenti per alcune unità di test, non soddisfano le nostre esigenze per gli scenari di test che attraversano più attività.
Siamo aperti a un framework xUnit, a script, a registratori/riproduzioni GUI, ecc. E apprezzeremmo qualsiasi consiglio.
Come di Android 4.1, ora c'è un nuovo framework di test da Android che consente di test tra attività e l'intero sistema: http://developer.android.com/tools/testing/testing_ui.html –
[Robotium] (https://code.google.com/p/robotium/) soddisfa anche questa esigenza e in solo un paio di righe. – Dori