如何使用 UITest 和 Swift 3 单击编辑菜单
Posted
技术标签:
【中文标题】如何使用 UITest 和 Swift 3 单击编辑菜单【英文标题】:How do I click on an edit menu using UITest and Swift 3 【发布时间】:2016-10-10 20:45:13 【问题描述】:在我的 UITest 中,我可以长按一个文本视图,它会弹出一个编辑菜单,其中包含“选择”和“全选”两个选项。我该如何选择其中之一?这是我的代码,它在第三行失败。
app.textViews["noteText"].tap()
app.textViews["noteText"].press(forDuration: 2)
app.staticTexts["Select All"].tap()
【问题讨论】:
失败是什么? UI 测试失败 - 找不到“全选”静态文本的匹配项 在 LLDB 控制台中,当您在该行设置断点时,po app
命令的输出是什么?
输出太长,无法作为评论发布,但没有提及“全选”。
app.descendantsMatchingType(.Any).elementMatchingType(.Any, identifier: "Select All")
怎么样?
【参考方案1】:
Swift 2.3 答案:app.descendantsMatchingType(.Any).elementMatchingType(.Any, identifier: "Select All")
Swift 3 答案:app.descendants(matching: .any).element(matching: .any, identifier: "Select All").tap()
不清楚为什么不同的查询会返回不同的结果,但根据我的经验,这个查询始终返回所有查询的最大超集,并且只要标识符在视图层次结构中是全局唯一的,就可以使用。
【讨论】:
以上是关于如何使用 UITest 和 Swift 3 单击编辑菜单的主要内容,如果未能解决你的问题,请参考以下文章
Swift UITest - 将使用两者之一。哪个是未定义的
在记录的 Xcode UITest 会话中,vei 字符(向下插入符号)是啥意思?