如何在Xcode的iOS UI测试中选择选择器视图项?

发布于 2021-01-31 23:49:48

我有一个选择器视图,其中包含以下几个项目:“红色”,“绿色”,“黄色”,“黑色”。在我的
UI测试中,我需要从中选择一个特定的项目“绿色”。我正在使用Xcode 7 引入的XCTest UI测试API。

到目前为止,我设法在单元
测试中向上滑动了整个选择器视图。这并不理想,因为它总是将选择器视图更改为底部
项目(向上滑动时)。

let app = XCUIApplication()
app.launch()
app.pickers.elementAtIndex(0).swipeUp()    
XCTAssert(app.staticTexts["Selected: Black"].exists)

更改选择器视图的另一种但非常相似的方法是调用
pressForDuration ... thenDragToElement,这不是我想要的。

app.pickers.elementAtIndex(0).pressForDuration(0.1, thenDragToElement: someElement)

当我使用UI测试记录功能时,它不会记录选择器视图
滚动事件。当我点击选择器视图项时,它会记录:

app.pickerWheels["Green"].tap()

但这在运行测试时实际上不起作用(可能是因为它需要在点击之前先滚动选择器视图)。

这是带有测试的演示应用程序。

https://github.com/exchangegroup/PickerViewTestDemo

Update

从Xcode 7.0 beta 6开始,现在可以选择一个选择器视图。

app.pickerWheels["Green"].adjustToPickerWheelValue("Yellow")
关注者
0
被浏览
86
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    如问题的更新所述,Xcode 7 Beta 6添加了对与选择器进行交互的支持。新添加的方法-adjustToPickerWheelValue:应用于选择上的项目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
    .



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看