Próbuję w końcu dodać testy interfejsu użytkownika do mojej aplikacji Android, aby zwiększyć zasięg (wszystkie moje pozostałe warstwy są poprawnie przetestowane, stąd wszystkie moje błędy pochodzą teraz z interfejsu użytkownika ...) Zacząłem używać ActivityInstrumentationTestCase2
jako moja klasa podstawowa do testów jednostkowych emulatora, a proste rzeczy są łatwe do sprawdzenia i działają przyjemnie.Testowanie systemu Android: jak sprawdzić okno dialogowe jest wyświetlane na ekranie? (używając ActivityInstrumentationTestCase2)
Ale teraz, próbuję sprawdzić okno dialogowe, pojawia się zgodnie z oczekiwaniami i nie wiem jak to zrobić.
Moje testy:
public void testOpensAboutDialogWhenAboutButtonClicked() {
final MyActivity activity = getActivity();
final Instrumentation instrumentation = getInstrumentation();
final Button aboutButton = (Button) activity.findViewById(R.id.about);
TouchUtils.clickView(this, aboutButton);
// how to test for the AboutDialog?
}
Teraz moja dialogowe nie posiada identyfikator, więc nie mogę uzyskać wskaźnik do niego za pomocą findViewById. Został stworzony przy użyciu konstruktora klasy dostępne:
final AlertDialog about = new AlertDialog.Builder(parent)
.setTitle(parent.getString(R.string.about_title))
.setCancelable(true)
.setIcon(R.drawable.skull)
....
pomysłów lub wskaźniki do tutoriale?
EDIT: Aby odpowiedzieć Jens komentarz, jestem nie użyciu zarządzanych dialogi, po prostu tworząc AlertDialog i pokazano go z .Show()
Czy korzystasz z zarządzanych okien dialogowych? – Jens
@Jens, Właściwie nie jestem, nawet o nich nie wiedziałem ... Po prostu czytam o nich i to może pomóc w rozwiązaniu mojego problemu ... (To nauczy mnie omijać tutoriale ...) Spróbuję dziś wieczorem. Jeśli tak, proszę napisz odpowiedź, abym mógł dać ci nagrodę;) – Guillaume
Mogę dać ci właściwą odpowiedź. – Jens