Как выбрать элемент представления выбора в тесте пользовательского интерфейса 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")

Ответы на вопрос(7)

Ваш ответ на вопрос