我已经在JMeter webdriver采样器中自动执行了一些操作,在我正在移动到新窗口的场景中,但是我无法关闭新打开的窗口。
WDS.browser.close()
在那里不起作用。如何仅关闭新窗口并与父级一起使用?
提前致谢。
答案 0 :(得分:1)
您可以执行以下操作:
var handles = WDS.browser.getWindowHandles()
var iterator = handles.iterator()
var currentHandle = WDS.browser.getWindowHandle()
while(iterator.hasNext()) {
var handle = iterator.next()
if (handle != currentHandle) {
WDS.browser.switchTo().window(handle)
WDS.browser.close()
}
}
WDS.browser.switchTo().defaultContent()
参考文献:
答案 1 :(得分:0)
我所做的(虽然在python中)是开关手柄,关闭当前窗口,然后切换回来。也许它可以作为你问题的灵感来源:
def close_additional_tabs(self):
self.cfg.logger.info("[TEARDOWN] Close open tabs and switch to original frame.")
while len(self.webdriver.window_handles) > 1:
self.webdriver.switch_to_window(self.webdriver.window_handles[-1])
self.webdriver.close()
time.sleep(1)
self.webdriver.switch_to_window(self.webdriver.window_handles[-1])
这适用于标签,但它也适用于Windows。