2015-11-11 3 views
3

Я очень новичок в тестировании интерфейса. У меня есть UITableView в моей раскадровке, и в нем есть несколько ячеек. Обновление: Я хочу утверждать, что число ячеек в UITableView при запуске приложения будет больше 0. Но я не знаю, как закодировать эту часть. Используя NSPredicate? Или другие?swift in UI test (проверьте количество ячеек в UITable View)

func testCellsNum() 
{ 
     let app = XCUIApplication() 
     let tableCell = app.tableRows.count 
    //Then what should I do ? 
     XCTAssertGreaterThan(tableCell, 0, "should greater than 0")//this line doesn't work 


} 

ответ

12

Если у вас есть только одна таблица, просто сделать это

func testExample() { 

    let app = XCUIApplication() 
    let tablesQuery = app.tables 
    let count = tablesQuery.cells.count 
    XCTAssert(count > 0) 
} 

Если у вас есть мульти таблицы, используя это, чтобы получить первый или любой индекс вы хотите

 tablesQuery.elementAtIndex(0).cells 
+0

У меня есть две сцены , Первый имеет UITableView. Когда я нажимаю на первую ячейку, он войдет во вторую сцену. Во второй сцене есть ImageCells. Как я могу проверить количество ячеек изображений во второй сцене? – beasone

+0

См. Сообщение, которое я ответил здесь http://stackoverflow.com/a/33643956/3940672. Вы можете использовать перекодировку для генерации исходного кода, а затем внести небольшие изменения с кодом, который я отправляю – Leo

+0

. Вы также можете добавить ** accessibilityIdentifier ** в ваш табличный вид, например 'myTableView.accessibilityIdentifier =" myUniqueTableViewIdentifier ", после выполнения вы можете получить доступ к tableView в своем тестовом примере, например:' let myTableView = app.tables.matching (идентификатор: «myUniqueTableViewIdentifier») ' –

Смежные вопросы