是否有可能测试 app.tables.switches 字典中存在的所有开关。当我记录测试时,该行会添加一个字符串作为键,例如:
app.tables.switches["Kantoor, kntr"].tap()
但我想用类似 for 循环的方式遍历所有开关(代码不起作用):
for index in 0...app.tables.switches.count {
XCTAssertTrue(app.tables.switches[index].value, "")
}
这是一项检查,用于验证在我单击“全部禁用”按钮后是否启用/禁用了每一行的所有开关。
最佳答案
如果你想获取字典中的值,你只需使用 values
属性:
let dict = [1: true, 2: false, 3: true]
dict.values // [false, true, true]
如果您想使用 for 循环检查字典中的偶数值是否为 true
,您可以这样做:
for val in dict.values {
XCTAssertTrue(val)
}
为了提供更多信息,您可以同时遍历键和值,并在得到 false
时将键用作错误消息:
let dict = ["a": true, "b": false, "c": true]
for (key,val) in dict {
XCTAssertTrue(val, key)
}
或者,使用 contains
方法,你可以做这个漂亮的单行代码:
XCTAssertFalse(dict.values.contains(!))
这主要是测试字典是否不包含不 true
的值。
关于Xcode 7 UI 测试循环遍历所有开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732111/