How to select a picker view item in an iOS UI test in Xcode?
Solution 1:
As noted in the question's update, Xcode 7 Beta 6 added support for interacting with pickers. The newly added method -adjustToPickerWheelValue:
should be used to select items on a UIPickerView
.
let app = XCUIApplication()
app.launch()
app.pickerWheels.element.adjustToPickerWheelValue("Yellow")
Here's a GitHub repo with a working example. And some more information in a blog post I wrote.
Solution 2:
If there are multiple wheels, an easy way to select items it is like this:
precondition: it's a date picker (UIDatePicker), swift language
app.pickerWheels.elementBoundByIndex(0).adjustToPickerWheelValue("March")
app.pickerWheels.elementBoundByIndex(1).adjustToPickerWheelValue("13")
app.pickerWheels.elementBoundByIndex(2).adjustToPickerWheelValue("1990")
where: index "0" is month, "1" is day, "2" is year
Solution 3:
Swift 4 version of @Joao_dche's answer
app.pickerWheels.element(boundBy: 0).adjust(toPickerWheelValue: "March")
app.pickerWheels.element(boundBy: 1).adjust(toPickerWheelValue: "13")
app.pickerWheels.element(boundBy: 2).adjust(toPickerWheelValue: "1990")