Wie wähle ich ein Element für die Auswahlansicht in einem iOS-UI-Test in Xcode aus?

Ich habe eine Auswahlansicht mit wenigen Elementen: "Rot", "Grün", "Gelb", "Schwarz". In meinem UI-Test muss ich ein bestimmtes Element "Grün" auswählen. Ich verwende die XCTest UI-Test-APIs, die mit Xcode 7 eingeführt wurden.

Was ich bisher geschafft habe, ist, im Unit-Test die gesamte Picker-Ansicht nach oben zu streichen. Dies ist nicht ideal, da hierdurch die Auswahlansicht immer auf das unterste Element geändert wird (beim Wischen nach oben).

let app = XCUIApplication()
app.launch()
app.pickers.elementAtIndex(0).swipeUp()    
XCTAssert(app.staticTexts["Selected: Black"].exists)

Eine andere, aber sehr ähnliche Art, die Ansicht des Pickers zu ändern, ist @ aufzurufepressForDuration ... thenDragToElement, das ist nicht was ich will.

app.pickers.elementAtIndex(0).pressForDuration(0.1, thenDragToElement: someElement)

Wenn ich den UI-Test benutzeAufzeichnunit der Funktion @ werden die Bildlaufereignisse der Auswahlansicht nicht aufgezeichnet. Es wird aufgezeichnet, wenn ich auf Elemente in der Auswahlansicht tippe:

app.pickerWheels["Green"].tap()

Das funktioniert jedoch nicht, wenn der Test ausgeführt wird (wahrscheinlich, weil vor dem Tippen zuerst ein Bildlauf in der Auswahlansicht durchgeführt werden muss).

Hier ist die Demo-App mit dem Test.

https: //github.com/exchangegroup/PickerViewTestDem

Aktualisiere

Seit Xcode 7.0 Beta 6 ist es jetzt möglich, eine Auswahlansicht auszuwählen.

app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")

Antworten auf die Frage(14)

Ihre Antwort auf die Frage