3

我有一个使用“Present As Popover”segue 呈现的视图控制器。当我运行该应用程序时,它按预期工作,在弹出框之外点击将关闭它。但是,当我运行 UI 测试时,我无法关闭弹出框。我该怎么做?我试过了:

app.otherElements["PopoverDismissRegion"].tap()

但日志打印:

无法找到其他 0x61000017f8c0 的命中点:特征:35184372088832, {{0.0, 0.0}, {375.0, 667.0}},标识符:'PopoverDismissRegion',标签:'dismiss popup'

4

2 回答 2

5

Xcode UI 测试记录中有一个错误。

弹出框解雇记录为:

app.otherElements["PopoverDismissRegion"].tap()

实际上,需要以下内容(正如 Accessibility Inspector 所揭示的那样):

app.otherElements["dismiss popup"].tap()

方便的扩展:

extension XCUIApplication {
    func dismissPopup() {
        otherElements["dismiss popup"].tap()
    }
}
于 2017-10-03T21:28:08.180 回答
3

将此行添加到您要关闭弹出框的位置

app.children(matching: .window).element(boundBy: 0).tap()
于 2017-05-11T14:06:57.360 回答