Wie wähle ich ein Auswahllistenelement in einem iOS-UI-Test in Xcode aus?
Habe ich ein picker-Ansicht mit wenigen items: "Rot", "Grün", "Gelb", "Schwarz". In meiner UI-test, die ich brauche, um ein bestimmtes Element "Grün" aus. Ich bin mit dem XCTest UI-testing-APIs, die waren intruduced mit Xcode 7.
Was ich geschafft so weit zu ziehen, das ganze picker Blick in die unit-test. Es ist nicht ideal, weil es immer änderungen der picker-Ansicht zu dem unteren Element (beim nach oben wischen).
let app = XCUIApplication()
app.launch()
app.pickers.elementAtIndex(0).swipeUp()
XCTAssert(app.staticTexts["Selected: Black"].exists)
Anderen, aber sehr ähnlichen Weg der änderung des picker-Ansicht aufrufen pressForDuration ... thenDragToElement
das ist nicht das, was ich will.
app.pickers.elementAtIndex(0).pressForDuration(0.1, thenDragToElement: someElement)
Wenn ich den UI-test - Datensatz Funktion es nicht aufnehmen, der picker view scrolling-events. Es tut Datensatz, wenn ich Tippen Sie auf picker-Elemente anzeigen:
app.pickerWheels["Green"].tap()
aber eigentlich nicht funktionieren, wenn der test ausgeführt wird (wahrscheinlich, weil es braucht, um einen Bildlauf des picker-Ansicht zuerst vor dem Abstich).
Hier ist die demo-app im test.
https://github.com/exchangegroup/PickerViewTestDemo
Update
Ist es nun möglich, wählen Sie eine Farbauswahl anzuzeigen, da Xcode 7.0 beta 6 .
app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")
InformationsquelleAutor der Frage Evgenii | 2015-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits in der Frage update, Xcode 7 Beta 6 zusätzliche Unterstützung für die Interaktion mit dem Pflücker. Die neu hinzugefügte Methode
-adjustToPickerWheelValue:
sollte verwendet werden, um Elemente auszuwählen, die auf einemUIPickerView
.Hier ein GitHub repo mit einem Beispiel arbeiten. Und einige weitere Informationen in einem blog-post schrieb ich.
InformationsquelleAutor der Antwort Joe Masilotti
Wenn es mehrere Räder, eine einfache Möglichkeit zum auswählen von Elementen es ist so:
Voraussetzung: es ist ein date-picker (UIDatePicker), swift Sprache
wo: index "0" Monat, "1" Tag", "2" Jahr
InformationsquelleAutor der Antwort Joao_dche
Swift 3-version von @Joao_dche's Antwort
InformationsquelleAutor der Antwort radioaktiv
Objective-C Version von @Joao_dche's Antwort
Mit UIDatePicker mit XCTest für UI-Tests:
InformationsquelleAutor der Antwort Debo
Joe ' s Antwort funktioniert Super auf iOS-11, aber bei mir nicht funktioniert auf iOS 10.3.1 [Xcode 9.2]
Verwende ich benutzerdefinierte Ansichten (labels) als Kommissionierer Zeilen und leider ist wunderschön Joe ' s Antwort nicht funktioniert für mich auf iOS 10.3.1 während perfekt funktioniert auf iOS-11. So musste ich
wo
Also in meinem Fall dieses Befehls sieht wie
InformationsquelleAutor der Antwort Pavel Vavilov
Dies ist einer der beliebtesten post für wählen Sie pickervie(UIPickerView)
Wenn Sie möchten, wählen Sie Status/Datum vom picker-Ansicht. Sie können versuchen, die folgenden swift 3-code.
PickerWheels pick vom AK und legen Sie den soll-Zustand.
XCUIApplication().Tabellen.pickerWheels["Ausgangspunkt" "].anpassen(toPickerWheelValue: "Ziel Platz")
InformationsquelleAutor der Antwort Boston Star
Ich folgenden code, der zum identifizieren des Elements angezeigt, jetzt in der Farbauswahl Rad.
Zu Finden, ein element picker
Wählen Sie einen Wert in das picker Rad:
InformationsquelleAutor der Antwort Sujananth