Как выбрать элемент представления выбора в тесте пользовательского интерфейса iOS в XCode?
У меня есть окно выбора с несколькими пунктами: «Красный», «Зеленый», «Желтый», «Черный». В моем тесте пользовательского интерфейса мне нужно выбрать определенный элемент «Зеленый» из него. Я использую API-интерфейсы тестирования интерфейса пользователя XCTest, которые были внедрены в Xcode 7.
Что мне удалось сделать, так это пролистать весь вид выбора в модульном тесте. Он не идеален, потому что он всегда меняет вид сборщика на нижний элемент (при проведении вверх).
let app = XCUIApplication()
app.launch()
app.pickers.elementAtIndex(0).swipeUp()
XCTAssert(app.staticTexts["Selected: Black"].exists)
Другой, но очень похожий способ изменить вид сборщика - позвонитьpressForDuration ... thenDragToElement
что не то, что я хочу.
app.pickers.elementAtIndex(0).pressForDuration(0.1, thenDragToElement: someElement)
Когда я использую тест пользовательского интерфейсазапись Функция не записывает события прокрутки просмотра выбора. Это делает запись, когда я нажимаю на элементы выбора выбора:
app.pickerWheels["Green"].tap()
но на самом деле это не работает при запуске теста (возможно, потому, что сначала нужно прокрутить представление выбора перед тем, как нажать).
Вот демонстрационное приложение с тестом.
https://github.com/exchangegroup/PickerViewTestDemo
ОбновитьТеперь возможно выбрать вид выбора, начиная с Xcode 7.0 beta 6.
app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")