【问题标题】:Is there a way to get the string value of a picker wheel that is an XCUIElement?有没有办法获取作为 XCUIElement 的选择轮的字符串值?
【发布时间】:2019-10-21 10:04:59
【问题描述】:

我知道这是存在的: func adjust(toPickerWheelValue pickerWheelValue: String),但我不想调整值。我想确保该值是我在移动它后所期望的字符串。

我尝试在选择器轮元素上执行 .value,但它给了我一个 Any 类型,其中包含我需要的字符串,以及一些额外的东西。

假设屏幕的打印输出是这样的:

Attributes: Application, pid: 64445, label: ‘App’
Element subtree:
 →Application, 0x60000263a150, pid: 64445, label: ‘App’
    Window (Main), 0x600002639110, {{0.0, 0.0}, {320.0, 568.0}}
      Other, 0x6000026396c0, {{0.0, 0.0}, {320.0, 568.0}}
        Picker, 0x600002639040, {{0.0, 352.0}, {320.0, 216.0}}
            PickerWheel, 0x600002639520, {{0.0, 314.5}, {103.0, 291.0}}, value: 0 hours
            PickerWheel, 0x600002639380, {{108.0, 314.5}, {103.0, 291.0}}, value: 13 min

我会在控制台中打印出app.pickerWheels.element(boundBy: 0).value 并得到这个

Optional<Any>
    - some : 0 hours

我明确地只想要0 hours,所以我可以断言选择轮说明了这一点。

【问题讨论】:

    标签: swift xcode ios-ui-automation


    【解决方案1】:

    因为我遇到了同样的问题,所以我在这里找到了你的问题。现在我也从这里找到了解决方案:How to select a picker view item in an iOS UI test in Xcode?(最后一个答案)。

    可以像这样将值转换为字符串:

    let value = app.pickerWheels.element(boundBy: 0).value as! String
    

    这给了我继续的正确价值。

    希望我能提供帮助,因为您的问题也帮助了我,这让我在这里注册并给出答案。

    【讨论】:

      猜你喜欢
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多