「赤」、「緑」、「黄」、「黒」の項目が少ないピッカー ビューがあります。私の UI テストでは、特定の項目「緑」を選択する必要があります。Xcode 7 で導入された XCTest UI テスト API を使用しています。
これまでになんとかできたことは、単体テストでピッカー ビュー全体を上にスワイプすることです。ピッカー ビューが常に一番下の項目に変更されるため (上にスワイプした場合)、理想的ではありません。
let app = XCUIApplication()
app.launch()
app.pickers.elementAtIndex(0).swipeUp()
XCTAssert(app.staticTexts["Selected: Black"].exists)
ピッカー ビューを変更するもう 1 つの非常によく似た方法は、 を呼び出すことpressForDuration ... thenDragToElement
ですが、これは私が望んでいるものではありません。
app.pickers.elementAtIndex(0).pressForDuration(0.1, thenDragToElement: someElement)
UI テストレコード機能を使用すると、ピッカー ビューのスクロール イベントが記録されません。ピッカービューアイテムをタップすると記録されます:
app.pickerWheels["Green"].tap()
しかし、テストの実行時には実際には機能しません (おそらく、タップする前に最初にピッカー ビューをスクロールする必要があるためです)。
これがテスト付きのデモアプリです。
https://github.com/exchangegroup/PickerViewTestDemo
アップデート
Xcode 7.0 beta 6 以降、ピッカー ビューを選択できるようになりました。
app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")