Ich versuche zu überprüfen, dass eine Tabellenansicht in meinem UI-Test mit einer bestimmten Anzahl von Zellen gefüllt wurde. Hier ist mein Code:UI-Test UITableView-Zellenanzahl
XCUIApplication().tables.element.swipeUp()
let count = XCUIApplication().tables.element.children(matching: .cell).count
XCTAssert(count > 0)
Die Assertion schlägt fehl, da die count
immer 0 ist, obwohl die Swipe nach oben scrollt die offensichtlich erfolgreich Tabellenansicht gefüllt. Ich habe auch versucht:
XCTAssert(app.tables.cells.count > 0)
mit den gleichen Ergebnissen. Ich habe sogar ein leeres Projekt mit einer Tabellenansicht mit 3 statischen Zellen in nur einem Bildschirm erstellt, um alle möglichen Ablenkungen für den UI-Test zu entfernen, und es gibt immer noch 0 zurück. Ich teste auf iOS 11 mit Xcode 9.
Nur eine alberne Vermutung ... Versuchen Sie visibleCells anstelle von Zellen? –
visibleCells ist keine gültige Eigenschaft für die von app.tables zurückgegebene XCUIElementQuery. – damjandd
Sie sollten einen Breakpoint zu Zeile hinzufügen, die mit 'let count = ...' beginnt. Führen Sie dann den Test aus, warten Sie, bis der Breakpoint aktiviert ist, und geben Sie im unteren Bereich, in dem alle Ausgaben angezeigt werden, den Namen "po app" ein. Dies sollte Ihnen eine Ansichtshierarchie geben, in der Sie überprüfen können, ob Sie Ihren Tisch dort haben. Hier können Sie Ergebnisse der Ansichtshierarchie posten (durch Bearbeiten der Frage). – lagoman