如何在Jmeter webdriver Sampler中关闭新打开的窗口。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Jmeter webdriver Sampler中关闭新打开的窗口。相关的知识,希望对你有一定的参考价值。

我已经在JMeter webdriver采样器中自动执行了一些操作,在我移动到新窗口的情况下,但是我无法关闭新打开的窗口。 WDS.browser.close()不在那里工作。如何仅关闭新窗口并与父级一起工作?

提前致谢。

答案

你可以这样做:

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()

参考文献:

另一答案

我做的(虽然在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。

以上是关于如何在Jmeter webdriver Sampler中关闭新打开的窗口。的主要内容,如果未能解决你的问题,请参考以下文章

如何在JMeter Webdriver采样器中打开隐身窗口

如何将参数从Selenium Webdriver传递给JMeter?

如何在Jmeter webdriver Sampler中关闭新打开的窗口。

在Jmeter中使用Selenium WebDriver完成测试

译使用WebDriver采样器将JMeter与Selenium集成

Jmeter中中文乱码