Я хочу использовать тестирование пользовательского интерфейса Xcode для подсчета количества разделов в виде таблицы и количества ячеек в каждом разделе. Как я могу это сделать?Xcode UI Testing - разделы UITableView
ответ
Joe Masilotti полностью прав в том, что код приложения не может быть доступен непосредственно из теста пользовательского интерфейса, хотя вы можете использовать backchannel, если хотите быть не в своем стиле. Предположим, вы этого не сделаете.
Рамка UI Test XCode имеет доступ ко всему языку Swift наряду с иерархией пользовательского интерфейса вашего приложения, но не к доступу к слою данных; так что вы можете сделать следующее:
- Дайте колонтитулы из accessibilityIdentifiers Tableview разделов, которые включают в себя компонент индекса (например, photos.headers_0 и т.д.)
- Сделав это, используйте условные для определения количества разделов
- Аналогично, в вашем источнике данных можно назначить photos.section_0.cell_0, а итератор + условный может хранить количество ячеек в разделе 0 или любом другом разделе.
Начиная с Xcode 7, заголовки табличных представлений показаны как Other
элементы.
Вот что я сделал для (сгруппированных) табличном в мое приложение:
extension TableLayoutTests {
func testHasMessagesGroup() {
XCTAssert(app.tables.otherElements["MESSAGES"].exists)
}
func testHasMessageCell() {
let header = app.tables.otherElements["MESSAGES"]
let cell = app.tables.cells.elementBoundByIndex(1)
XCTAssertGreaterThanOrEqual(cell.accessibilityFrame.minY, header.accessibilityFrame.maxY)
}
func testHasOtherMessageCell() {
let header = app.tables.otherElements["MESSAGES"]
let cell = app.tables.cells.elementBoundByIndex(2)
XCTAssertGreaterThanOrEqual(cell.accessibilityFrame.minY, header.accessibilityFrame.maxY)
}
}
Очень креативно, нравится –
- 1. Xcode UI Testing - несколько UITableView
- 2. Xcode UI Testing - перетаскивание
- 3. XCode 7 UI Testing - Действующие действия
- 4. iPhone UITableView Вложенные разделы
- 5. Xcode 8 UI Testing Very Long
- 6. Xcode UI Testing разрешает системные предупреждения серии
- 7. Xcode UI Testing: Выполнение теста условно
- 8. XCode UI Testing swizzle API класс методы
- 9. Xcode - TableView - Различные разделы
- 10. Сортировка UITableView в разделы
- 11. UI Testing с XCUI
- 12. NSFetchedResultsController и UITableView Разделы
- 13. Обновить разделы в UITableView
- 14. iPhone: UITableView разделы
- 15. Переупорядочить только разделы UITableView
- 16. Как реализовать разделы UITableView
- 17. UITableView разделы не работают
- 18. RubyMotion перезагружает разделы UITableView
- 19. UITableView Индекс и разделы
- 20. Как отсортировать разделы UITableView
- 21. Swift UI Testing с Kif
- 22. UITableViewCell UI Testing
- 23. UI Testing Failure
- 24. UI Testing Tool?
- 25. BDD и UI Testing
- 26. UI Testing медленно с тех пор, как XCode 8
- 27. Xcode UI Testing - Поиск элемента в Webview по id
- 28. Могу ли я манипулировать веб-страницами из Xcode UI Testing?
- 29. В Xcode UI Testing можно получить ориентацию вида
- 30. Xcode UI Testing приводит к сбою на каждом устройстве iOS
Почему бы не использовать источник данных, а? –
1. Как я могу получить доступ к коду из теста пользовательского интерфейса? 2. Я хочу убедиться, что разделы правильно проанализированы из источника данных. – YogevSitton
просто вызовите номер таблицы viewOfSection и numberOfRows из вашего тестового класса пользовательского интерфейса ...? (Не уверен, что я получаю ваш вопрос правильно) –