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
AktualisiereSeit Xcode 7.0 Beta 6 ist es jetzt möglich, eine Auswahlansicht auszuwählen.
app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")