Ich verwende die UI-Test-APIs, die in Xcode 7 XCTest eingeführt wurden. Auf meinem Bildschirm habe ich einen Text, der aus dem Netzwerk geladen wird.Wie kann man in UI-Tests in Xcode prüfen, ob statischer Text aus dem Netzwerk angezeigt wird?
Der Test schlägt fehl, wenn ich es einfach mit exists
Eigenschaft überprüfen.
XCTAssert(app.staticTexts["Text from the network"].exists) // fails
Es funktioniert aber, wenn ich zum ersten Mal den Wasserhahn oder eine andere Veranstaltung auf den Text wie folgt an:
app.staticTexts["Text from the network"].tap()
XCTAssert(app.staticTexts["Text from the network"].exists) // works
Es sieht aus wie wenn ich exists
nur nennen sie es sofort auswertet und schlägt fehl, da die Text wurde noch nicht aus dem Netzwerk heruntergeladen. Aber ich denke, wenn ich die tap()
Methode anrufe, wartet es auf den Text, um zu erscheinen.
Gibt es eine bessere Möglichkeit, nach dem Vorhandensein eines Textes zu suchen, der vom Netzwerk geliefert wird?
So etwas wie (dieser Code wird nicht funktionieren):
XCTAssert(app.staticTexts["Text from the network"].eventuallyExists)
Ich habe meine Antwort für Xcode 7 Beta 4 aktualisiert. Da es die angenommene Antwort drastisch ändert, wollte ich Sie wissen lassen. –