Piszę test, w którym muszę poczekać, aż dany widok pojawi się w moim interfejsie użytkownika, korzystając ze struktury testowania interfejsu użytkownika. Tak więc, spojrzałem na dokumenty here i staram się to osiągnąć, używając GREYCondition
. Wygląda jednak na to, że GREYCondition
wymaga szczególnej kontroli stanu. Czy ktoś może mi doradzić, jaki jest warunek tego stanu? Czy istnieje jakiś sposób, w jaki mogę przekazać moim zdaniem warunek, aby czekać na to?Jak skonfigurować mój test EarlGrey tak, aby oczekiwał na widok lub wydarzenie?
5
A
Odpowiedz
6
Zazwyczaj nie należy czekać na określony widok, ponieważ wbudowana synchronizacja EarlGrey powinna automatycznie to zrobić dla ciebie. Istnieją różne ustawienia w GREYConfiguration, które można zmodyfikować, aby zwiększyć (lub zmniejszyć) zakres synchronizacji EarlGrey. Jeśli żadne z tych ustawień nie działa, możesz dodać jawną synchronizację z utworzoną przez siebie wersją, taką jak GREYCondition
, i użyć interfejsu API EarlGrey najwyższego poziomu, aby określić, czy widok istnieje.
GREYCondition *waitForFoo = [[GREYCondition conditionWithName:@"wait for Foo" block:^BOOL{
NSError *error;
// Checking if a view with accessibility ID "Foo" exists:
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(@”Foo”)]
assertWithMatcher:grey_notNil() error:&error];
return error == nil;
}];
// Wait until 5 seconds for the view.
BOOL fooExists = [waitForFoo waitWithTimeout:5];
if (fooExists) {
// Interact with Foo.
}
Powiązane problemy
- 1. Jak skonfigurować InternetExplorerDriver tak, aby działał
- 2. Jak skonfigurować modprobe, aby znaleźć mój moduł?
- 3. Jak skonfigurować lub skonstruować test jednostki PHP?
- 4. Jak skonfigurować mój dziennik Django tak, aby działał jak wbudowany dziennik serwera programistycznego?
- 5. Dlaczego operator * = nie działa tak, jak bym tego oczekiwał?
- 6. Jak mogę skonfigurować mój vim-lotnicza lub vim-powerline
- 7. Co mogę zrobić, aby Makefile.PL, tak aby po uruchomieniu make test uruchamiał zestaw testów w środowisku tancerza ustawionym na "test"?
- 8. Czy Heroku można skonfigurować tak, aby działał bez problemu?
- 9. Jak skonfigurować konserwację lub witrynę na stronie
- 10. Dlaczego mój program działa tak wolno?
- 11. Czy wyszukiwanie Plone można skonfigurować tak, aby wyświetlało treść portletu?
- 12. Jak poinstruować Mavena, aby zignorował mój główny/resources/persistence.xml na rzecz test/...?
- 13. NodeJS czekać na oddzwonienie, aby zakończyć na wydarzenie emitować
- 14. Wywołanie setNeedsDisplay: TAK na warstwie hosting pogląd nie przerysować widok
- 15. Jak skonfigurować vim tak, aby nie wstawiał komentarzy na początku linii podczas edycji plików Pythona
- 16. Jak skonfigurować widoki Popover, aby prawidłowo odrzucić
- 17. Czy możesz łatwo skonfigurować MediaWiki tak, aby akceptował pełną treść HTML/CSS lub nawet JS?
- 18. Cronjob lub wydarzenie MySQL?
- 19. Jak skonfigurować Eksplorator pakietów Eclipse, aby wyświetlał taki widok pakietu IntelliJ IDEA?
- 20. Wydarzenie, przekazanie lub interfejs?
- 21. ViewModel na widok lub model?
- 22. Parser Jacskona: Nierozpoznany token 'tieheT': oczekiwał 'null', 'true' lub 'false'
- 23. Jak ustalić, który test rspec trwa tak długo?
- 24. Dlaczego mój serwer hgweb jest tak wolny?
- 25. Zignoruj test lub testFixture na podstawie warunku
- 26. Dlaczego mój klejnot ładuje się tak długo?
- 27. Jak skonfigurować serwer Apache tak, aby PHP mogło obsługiwać żądania HTTP?
- 28. Jak skonfigurować projekt C++ na github, aby był przenośny?
- 29. Jak skonfigurować WZP, aby używać JNDI?
- 30. Jak przekazywać wydarzenia do rodzica Widok, przekazywanie dziecka Widok, który spowodował wydarzenie?
Wielkie dzięki za to! –