2016-07-07 6 views
1

Ich schreibe einen Test, mit folgendem Fehler fehl:Kann ich die genaue UI-Hierarchie sehen, die EarlGrey verwendet, um Elemente zu finden?

Error Domain=com.google.earlgrey.ElementInteractionErrorDomain Code=0 "No element found." UserInfo={NSLocalizedDescription=No element found.}

ich in der generierten Screenshot sehen, dass das Element I existiert Übereinstimmen versuchen. Ich bin durch den Code gegangen und habe gesehen, dass Earlgrey Element-Provider verwendet. Als mein Test fehlschlug, sah ich einen ui-Hierarchie-Dump. Ich möchte stattdessen genau die gleiche Hierarchie an bestimmten Haltepunkten ausgeben. Wie kann ich das machen?

Antwort

2

Sie können die GREYElementHierarchy-Klasse verwenden, um die Elementhierarchie zu jedem Zeitpunkt Ihres EarlGrey-Tests zu drucken.

UIWindow *hierarchy = [[[UIApplication sharedApplication] delegate] window]);

NSLog(@"Hierarchy: %@", hierarchy);

+0

Yup das war es! Vielen Dank. – khandpur

1

Wie in EarlGrey FAQ Sie einen Haltepunkt überall in Ihren Tests hinzufügen und, wenn sie getroffen werden, in Xcode Debug-Fenster ausführen:

expression -- print(GREYElementHierarchy.hierarchyStringForAllUIWindows()) 

Dies wird Ausgabe die komplette Hierarchie Es wird also ein wenig verwirrend sein, es zu analysieren.

Viel Glück

Verwandte Themen