小编dvo*_*onn的帖子

iOS UI 测试调整 SwiftUI 应用程序上的选择器值

我正在尝试实现一个 UI 测试,调整样本选择器滚轮的选定值,如下所示:

import SwiftUI

struct ContentView: View {

var colors = ["Red", "Green", "Blue", "Yellow", "White", "Black", "Purple", "Cyan"]
@State private var selectedColor = "Red"

  var body: some View {
    VStack {
      Picker("Choose a color", selection: $selectedColor) {
        ForEach(colors, id: \.self) {
          Text($0)
        }
      }
      .accessibility(identifier: "picker")
      Text("You selected: \(selectedColor)")
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

用户界面测试

let picker = app!.pickers["picker"].pickerWheels.firstMatch
picker.adjust(toPickerWheelValue: "Purple")
Run Code Online (Sandbox Code Playgroud)

但是,当使用函数 adjustment(toPickerWheelValue: ) 时,滚轮只会按照所需值的方向移动到列表中的下一项。在上面的 UI 测试示例中,结果是轮子移动到“绿色”。如果我再次调用该函数,滚轮将移动一步以选择“蓝色”,依此类推。为什么会发生这种情况?

使用:Xcode 12.4 和 iOS 14.4

picker ios xctest swift swiftui

3
推荐指数
1
解决办法
1030
查看次数

标签 统计

ios ×1

picker ×1

swift ×1

swiftui ×1

xctest ×1