swift - 有没有办法获取作为 XCUIElement 的选择轮的字符串值?
问题描述
我知道这存在:
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
所以我可以断言选择轮是这么说的。
解决方案
因为我遇到了同样的问题,所以我在这里找到了你的问题。现在我也从这里找到了一个解决方案:How to select a picker view item in an iOS UI test in Xcode? (最后一个答案)。
可以像这样将值转换为 String:
let value = app.pickerWheels.element(boundBy: 0).value as! String
这给了我继续的正确价值。
希望我能提供帮助,因为您的问题也帮助了我,这让我在这里注册以给出答案。
推荐阅读
- amazon-web-services - GlobalTable 创建角色错误
- ios - UIWebView 从 firebase 数据库调用 URL
- statistics - 查找 p 值的简单方法
- codeigniter - uri-encode-permitted chars 不起作用
- android - DexOverflowException:无法在 main-dex 文件中容纳请求的类
- c# - Nsubstitute - 当处理程序使用泛型时引发模拟对象的事件
- msbuild - VSTS 如何使用多项目解决方案创建包文件(zip)
- android - 在 Oreo 中自定义 google setupwizard 时出现安全异常
- sql-server - 使用在 MSSQL 中使用 EncryptByPassPhrase() 加密的 powershell 解密字符串
- r - 我正在 Rstudio 中进行参数化降价,并且无法更改使用 ggplot2 生成的条形图的颜色