Die Frage ist eigentlich ganz einfach:Xcode UI Testing [xcode7-beta6] - Ist-Labelwerte Geltendmachung wenn Zugänglichkeit mit Etiketten
Gibt es eine Möglichkeit, den angezeigten Wert von einem bestimmten Label (zB UILabel) geltend zu machen, wenn Verwenden Sie ein Accessibility-Label für dieses Objekt?
Soweit ich es sehe, sind alle Aussagen (zB XCTAssertEquals) in den Beispielen hergestellt, sei es von einem WWDC Talk oder Blogposts, sind die Überprüfung nur dann, wenn ein Element für eine Abfrage wie XCTAssertEquals(app.staticTexts["myValue"].exists, true)
oder wenn die Anzahl der Zellen vorhanden ist in einer Tabelle ist richtig XCTAssertEquals(app.tables.cells.count, 5)
. Wenn Sie also Eingabehilfen-Labels vermeiden, können Sie überprüfen, ob für ein Objekt ein bestimmter Wert angezeigt wird, aber nicht für welches Objekt/Element. Und wenn ich Accessibility-Labels verwende, beraubt es mich die Möglichkeit, die angezeigten Werte abzufragen, weil app.staticTexts["myValue"]
jetzt kein Ergebnis liefern kann, aber app.staticTexts["myAccessibilityLabel"]
schlägt.
Angenommen, ich möchte meine "Neue Zelle zu Tabelle hinzufügen" -Funktionalität testen, kann ich testen, ob wirklich eine neue Zelle zur Liste hinzugefügt wurde, aber ich habe keine Ahnung, ob die neue Zelle oben oder unten hinzugefügt wird Ende der Liste oder irgendwo dazwischen.
Für mich, eine einfache Möglichkeit zu überprüfen, ob ein bestimmtes Element einen bestimmten Wert hat, sollte ein Kinderspiel sein, wenn es um UI-Tests geht.
Es ist möglich, dass aufgrund der fehlenden Dokumentation ich das Offensichtliche übersehen könnte. Wenn ja, sag es mir einfach.
Vielen Dank @ Joe. Aber Sie stimmen zu, dass es seltsam ist, dass Sie den Wert eines Kontrollkästchens (aktiv oder nicht), aber nicht den Wert (den angezeigten Text) eines UILabel überprüfen können. Recht? Für mich bedeutet das, dass ich UI-Tests nicht für funktionale Testfälle verwenden kann, da die meisten davon Anforderungen wie _ enthalten, wenn Sie 'abc' in das Textfeld 'a' eingeben und die Taste 'b' drücken, dann sollte die Bezeichnung 'c' angezeigt werden 'xyz'_. – wegenmic
@wegenmic Vorschlagen etwas anders denken. Denken Sie daran, dass ein UIElement kein tatsächliches UI-Objekt ist, sondern ein Suchpfad zu einem UI-Objekt. Sie müssen lediglich einen anderen "Suchpfad" erstellen. 'app.staticTexts [" Neuer Etikettentext "]'. Warf mich für eine Schleife am Anfang ... "Wert" ist nicht besonders nützlich. –