如何关闭另一个 window 在 GEB 中打开的确认对话框

How to close a confirm dialog opened by another window in GEB

在我的一个功能性 GEB 测试中,我们遇到了这样一种情况,我们使用

打开一个新的 window
withNewWindow({ button.click() }, "close": true, "wait": true) {
   //Other things
}

现在,当 window 关闭时,会打开一个确认对话框,显示您是否要离开此页面。如何关闭确认对话框?

我知道有一种方法 withConfirm 可以关闭确认对话框,但我没有对它做任何事情 open/close 而是 withNewWindow 是 opening/closing 那个。

我尝试了多种选择,但不知道该怎么做。我查看了 docs 但找不到任何示例。

您需要为 withNewWindow()close 选项传递 false,然后在 withConfirm() 调用中包装关闭新打开的 window案例:

withNewWindow({ button.click() }, close: false, wait: true) {
    //Other things
    withConfirm { driver.close() }
}