Xcode 7 UI 测试所有开关的循环
Xcode 7 UI test loop through all switches
是否可以测试 app.tables.switches 词典中存在的所有开关。当我记录测试时,该行添加了一个字符串作为键,如:
app.tables.switches["Kantoor, kntr"].tap()
但我想用 for-loop 遍历所有开关,例如(代码不起作用):
for index in 0...app.tables.switches.count {
XCTAssertTrue(app.tables.switches[index].value, "")
}
这是在我单击 "disable all" 按钮后验证每一行的所有开关是否为 enabled/disabled 的检查。
如果您要获取字典中的值,只需使用 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(!))
这基本上测试字典确实 not 包含一个 not true
.
的值
我终于找到了解决方案,它比我预期的要简单得多,但是使用了错误的方法。此修复是使用以下命令:
let firstSwitch = app.tables.switches.elementBoundByIndex(0)
是否可以测试 app.tables.switches 词典中存在的所有开关。当我记录测试时,该行添加了一个字符串作为键,如:
app.tables.switches["Kantoor, kntr"].tap()
但我想用 for-loop 遍历所有开关,例如(代码不起作用):
for index in 0...app.tables.switches.count {
XCTAssertTrue(app.tables.switches[index].value, "")
}
这是在我单击 "disable all" 按钮后验证每一行的所有开关是否为 enabled/disabled 的检查。
如果您要获取字典中的值,只需使用 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(!))
这基本上测试字典确实 not 包含一个 not true
.
我终于找到了解决方案,它比我预期的要简单得多,但是使用了错误的方法。此修复是使用以下命令:
let firstSwitch = app.tables.switches.elementBoundByIndex(0)