2016-08-22 1 views
0

Ich schreibe einige UI-Tests und ich habe zur Zeit ein Problem mit einigen Text, der in einer Tableview-Zelle ist.UI-Test Text von uitableviewcell erhalten

Also ich möchte testen, dass ein Tableview alle Fälle hat, die es haben muss.

Ich habe versucht, es wie folgt:

if !app.staticTexts["sometext"].exists { 
// FAIL 
} 

aber doens't Arbeit, weil sie den Text nicht finden und dann fand ich etwas wie folgt aus:

app.tables.cells.staticTexts["some text"].exists 

und last but not am wenigsten wie das:

Aber es scheint, dass die nie den Text findet und es ist auf dem Bildschirm. Jemand weiß, wie man den Text aus einer Tableview-Zelle bekommt?

+0

Ich habe das Problem gefunden. Ich habe 2 Tabellenansichten und app.tables nimmt die erste Tabellenansicht, nicht die zweite. Ich muss also nur irgendwie zur zweiten Tabellenansicht wechseln. – user1007522

Antwort

1

Setzen Sie den AccessibilityIdentifier auf beide UITableViews, dann können Sie jedes Mal die richtige Tabelle auswählen.

app.tables["myIdentifier"].cells.staticTexts["some text"] 
+0

Wissen Sie, wie Sie das gleiche mit KIF-Framework tun? –

+0

Leider bin ich mit der KIF-API nicht vertraut. – Oletha

1

Wenn der Bezeichner für die Zelle gut definiert ist - die Dinge sind vorhanden. Versuchen Sie -

let app = XCUIApplication() 
    let tablesQuery = app.tables 
    XCTAssertTrue(tablesQuery.cells.containing(.staticText, identifier: "my identifier").staticTexts["Some Text"].exists, 
        "Failure: Something went wrong.") 
Verwandte Themen