Moja aplikacja dla Androida ma usługę, która wysyła powiadomienia do użytkownika na podstawie parametrów takich jak liczba uruchomień aplikacji. Powiadomienia są wysyłane o różnych porach w różnych sytuacjach. Chcę sprawdzić, czy powiadomienia są wysyłane w odpowiednim czasie we wszystkich różnych przypadkach. Czy Android zapewnia sposób takiego testowania?Testowanie powiadomień w Androidzie
Odpowiedz
Przeczytaj proszę ten artykuł
http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html
Tutaj można znaleźć ładne wyjaśnienie tego tematu:
Espresso
dla Androida jest doskonały i szybki Test ramy automatyki, ale ma jedną istotną ograniczenie - w aplikacji można testować tylko w kontekście testu.Oznacza to, że nie jest możliwe, aby automatyzować testy dla takiej aplikacji funkcje, takie jak:
- powiadomień push aplikacja
- synchronizacja kontakt
- żeglujących z innej aplikacji do aplikacji w ramach testu,
ponieważ masz do czynienia z innymi aplikacjami z urządzenia mobilnego -
NotificationBar
,Contacts
lubPeople
aplikacja, itp.W rzeczywistości nie było to możliwe do czasu wydania
UIAutomator 2.0
. Podpis w blogu na temat Androida Developers - "... Najważniejsze, żeUI Automator
jest teraz oparty na Android Instrumentation ...". A ponieważ z tego możemy wykonać testyUIAutomator
, a takżeEspresso
testów przy użyciuInstrumentation test runner
.Poza tym możemy łączyć UIAutomator testuje razem z
Espresso
testów, a to daje nam realną władzę i kontrolę nad telefon i stosowania badanego.
Powiadomienie Testowanie przy użyciu UIAutomator: -
Wystarczy przejść przez poniższy kod. Pomoże Ci w testowaniu powiadomienia.
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);`
Nie zapomnij dodać zależności UIAutomator w build.gradle.
`//UIAutomator dependency
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'`
opublikowane przez @ dcr24 Nie mam wystarczająco dużo reputacji, aby skomentować. Odpowiedź Prema Choudhary jest całkiem genialna, ale ważne jest, aby pamiętać, że działa tylko na założeniu, że urządzenie jest odblokowane, w przeciwnym razie device.openNotification() nie będzie działać na ekranie blokady. –
- 1. Wysyłanie lokalnych powiadomień w Androidzie
- 2. Zdalne wyświetlanie powiadomień na Androidzie
- 3. Akcje powiadomień w Androidzie bez otwierania aplikacji
- 4. Wiele powiadomień z jedną ikoną paska stanu w Androidzie
- 5. Testowanie błędów EditText z Espresso na Androidzie
- 6. Ukryj pasek powiadomień
- 7. Jak wyświetlić listę dostępnych dźwięków powiadomień na Androidzie
- 8. Korzystanie z powiadomień na Androidzie przy użyciu MvvmCross
- 9. Zmiana układu powiadomień
- 10. System powiadomień w Railsach
- 11. Centrum powiadomień w języku C++
- 12. Jak zmienić kolor/odcień ikon powiadomień paska stanu w Androidzie (marshmallow i powyżej 23+)?
- 13. Jak odczytać wszystkie nadchodzące powiadomienia w Androidzie
- 14. Dane powiadomień push pobieranie
- 15. IOS Anulowanie lokalnych powiadomień
- 16. Wyjątek "Próba mutacji powiadomień"
- 17. wykryj ustawienie centrum powiadomień
- 18. Cicha powiadomień push Ładowność
- 19. Przyciski akcji powiadomień appereance
- 20. Jak zaimplementować wartości dynamiczne w elemencie menu w Androidzie
- 21. Token urządzenia powiadomień Push?
- 22. Obsługa powiadomień push
- 23. iPhone Powiadomienia powiadomień pocztowych
- 24. Testowanie elementu w liście
- 25. Testowanie platformy w elicie?
- 26. testowanie admin.ModelAdmin w django
- 27. Testowanie fragmentu w Lift
- 28. testowanie funkcji w jsfiddle
- 29. Testowanie funkcjonalne w Symfony
- 30. Testowanie XHR w Jest
Z jakiej usługi powiadamiania korzystasz? –
Używam usługi w tle, która wysyła powiadomienie co kilka dni. – user12345
Mam na myśli, Czy korzystasz z prostego powiadomienia lub powiadomienia push? –