Geb:为每个测试打开新标签

Geb: Open new tab for each test

我正在尝试为 where 块中的每组数据的每次测试迭代打开新选项卡。

我正在尝试:

setup:
Keys.chord(Keys.CONTROL, "t")

但是没用。

怎么做?

要使用 WebDriver 打开一个新的 window,因此 Geb 也需要在您正在驱动的浏览器中调用 window.open() javascript 方法。使用 Geb 可以通过以下方式完成:

js.exec "window.open('about:blank', '', '')"

我通过这个[在测试开始时写]解决了这个问题:

def cachedDriver = CachingDriverFactory.clearCacheAndQuitDriver()

现在where块中的每组数据都打开了一个新的window,关闭了之前的window,这对执行很有帮助数千次测试。