La mia app Android ha un servizio che invia notifiche all'utente in base a parametri come il numero di esecuzioni dell'app. Le notifiche vengono inviate in momenti diversi in diverse situazioni. Voglio verificare se le notifiche vengono inviate al momento giusto in tutti i diversi casi. Android fornisce un modo di test del genere?Test delle notifiche su Android
risposta
Leggi prega di questo articolo
http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html
Qui si dovrebbe trovare bella spiegazione di questo argomento:
Espresso
per Android è prova perfetta e veloce framework per l'automazione, ma ha un importante limitazione: è consentito operare solo con all'interno della propria app in un contesto di test.Ciò significa che non è possibile automatizzare test per tale applicazione caratteristiche come:
- notifiche applicazione spinta
- sincronizzazione dei contatti
- navigazione da un'altra applicazione per l'app in prova,
dal momento che si ha a che fare con altre app dal dispositivo mobile -
NotificationBar
,Contacts
oPeople
app, ecc.In effetti non è stato possibile fino al rilascio di
UIAutomator 2.0
. Come indicato nel post del blog degli sviluppatori Android: "... Ancora più importante, loUI Automator
è ora basato su Strumentazione Android ...". E poiché di quello che possiamo eseguire testUIAutomator
eEspresso
test utilizzandoInstrumentation test runner
.In aggiunta a ciò possiamo combinare UIAutomator mette alla prova con
Espresso
test e questo ci dà il vero potere e il controllo del telefono e l'applicazione in prova.
Notifica Test con UIAutomator: -
Basta passare attraverso il codice qui sotto. Ti aiuterà a testare la notifica.
UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
device.openNotification();
device.wait(Until.hasObject(By.text(NOTIFICATION_TITLE)), TIMEOUT);
UiObject2 title = device.findObject(By.text(NOTIFICATION_TITLE));
UiObject2 text = device.findObject(By.text(NOTIFICATION_TEXT));
assertEquals(NOTIFICATION_TITLE, title.getText());
assertEquals(NOTIFICATION_TEXT, text.getText());
title.click();
device.wait(Until.hasObject(By.text(ESPRESSO.getName())), TIMEOUT);`
Non dimenticate di aggiungere le dipendenze UIAutomator in build.gradle.
`//UIAutomator dependency
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'`
inserita da @ dcr24 Non ho ancora abbastanza reputazione per commentare ancora. La risposta di Prem Choudhary è piuttosto ingegnosa ma è importante notare che funziona solo sulla premessa che il dispositivo è sbloccato, altrimenti device.openNotification() non funzionerà per la schermata di blocco. –
- 1. Ripetizione delle notifiche su Android 4
- 2. Dove vengono visualizzate le notifiche su Chrome su Android?
- 3. Test delle unità Android delle categorie
- 4. Utilizzo di notifiche su Android con MvvmCross
- 5. Disattiva programmaticamente le notifiche su Android
- 6. Ricevi notifiche correnti android
- 7. Test delle unità su Android Studio: errore "not mocked"
- 8. Android - Le notifiche push GCM non vengono visualizzate nell'elenco delle notifiche
- 9. Problema delle notifiche push di Parse.com. disiscrizione non funziona, continuando a ricevere notifiche push. (Android)
- 10. Notifiche Remote View Android
- 11. Test dell'unità su Android NDK
- 12. Come ottenere il testo delle notifiche impilate in Android
- 13. Notifiche push multiple Apple non visibili nel vassoio delle notifiche
- 14. NSNotifica ordine delle notifiche dell'osservatore
- 15. Notifiche push pubnub e durata della batteria su Android
- 16. Il layout delle notifiche personalizzate non funziona su Android 2.3 o inferiore
- 17. Test delle unità App Android su Eclipse + jUnit - Esecuzione test fallita: test eseguito incompleto. 1 test previsti, ricevuti 0
- 18. Riavvio dell'applicazione su Android test
- 19. Come inviare notifiche push Android tramite GCM su C# .Net
- 20. Determina clic su addAction per le notifiche Android
- 21. Come abilitare più notifiche caratteristiche BLE su Xamarin/Android?
- 22. Android Parse, notifiche e buildTypes
- 23. Test unità Test delle applicazioni .NET basate su database
- 24. Test di ActiveSupport :: Notifiche con rspec
- 25. Notifiche delle mattonelle della metropolitana in C#
- 26. Notifiche push duplicate su iOS
- 27. Le notifiche push su Android 2.3 si sono bloccate.
- 28. Come dare notifiche su Android in un momento specifico?
- 29. Notifiche push su Android: Google GCM vs Amazon SNS?
- 30. XMPP (Openfire) Notifiche Push Android
Quale servizio di notifica si sta utilizzando? –
Sto utilizzando un servizio in background che invia una notifica ogni pochi giorni. – user12345
Voglio dire, stai usando una notifica semplice o una notifica push? –