我有一个 Select 视图,几乎没有项目:"红色"、"绿色"、"黄色"、"黑色".在我的UI测试中,我需要从中 Select 一个特定的项目"绿色".我正在使用Xcode 7引入的XCEST UI测试API.
到目前为止,我所做的是在单元测试中浏览整个picker视图.这并不理想,因为它总是将 Select 器视图更改为底部项目(向上滑动时).
let app = XCUIApplication()
app.launch()
app.pickers.elementAtIndex(0).swipeUp()
XCTAssert(app.staticTexts["Selected: Black"].exists)
改变 Select 器视图的另一个非常类似的方法是调用pressForDuration ... thenDragToElement
,这不是我想要的.
app.pickers.elementAtIndex(0).pressForDuration(0.1, thenDragToElement: someElement)
当我使用UI test record函数时,它不会记录 Select 器视图滚动事件.当我点击picker view项目时,它会记录:
app.pickerWheels["Green"].tap()
但当测试运行时,这实际上不起作用(可能是因为它需要在点击之前先滚动 Select 器视图).
下面是测试的演示应用程序.
https://github.com/exchangegroup/PickerViewTestDemo
使现代化
从Xcode 7.0 beta 6开始,现在可以 Select Select 器视图.
app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")