【发布时间】:2022-06-12 08:17:41
【问题描述】:
有人知道如何正确地为 Toggle 编写 UI 测试吗?即使在一个只有一个 Toggle 而整个 UI 中没有其他内容的全新项目中,我也会不断收到这种错误:
Failed to get matching snapshot: Multiple matching elements found for <XCUIElementQuery: 0x60000108c410>.
Sparse tree of matches:
→Application, pid: 26580, label: 'TestToggle'
↳Window (Main)
↳Other
↳Other
↳Other
↳Other
↳Switch, label: 'Test switch', value: 1
↳Switch, label: 'Test switch', value: 1
用户界面如下所示:
struct ContentView: View {
@State private var toggleValue = true
var body: some View {
Toggle("Test switch", isOn: $toggleValue)
.padding()
}
}
测试看起来像这样(这两行中的任何一条都会给我同样的错误):
func testExample() throws {
let app = XCUIApplication()
app.launch()
XCTAssertTrue(app.switches["Test switch"].value as? String == "1")
// XCTAssertTrue(app.switches["Test switch"].isEnabled)
}
我肯定做错了什么。如果只有一个开关,怎么会出现两个开关?网上的文章似乎都没有提到我所见过的任何相关内容。任何帮助表示赞赏。谢谢:)
【问题讨论】: