【问题标题】:How to close newly opened window in Jmeter webdriver Sampler.?如何在 Jmeter webdriver Sampler 中关闭新打开的窗口。?
【发布时间】:2018-03-01 17:34:01
【问题描述】:

我在 JMeter webdriver 采样器中自动执行了一些操作,在一个场景中我正在移动到新窗口,但我无法关闭新打开的窗口。 WDS.browser.close() 在那里不起作用。如何只关闭新窗口并与父母一起工作?

提前致谢。

【问题讨论】:

    标签: selenium automation jmeter webdriver


    【解决方案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()
    

    参考资料:

    【讨论】:

      【解决方案2】:

      我所做的(虽然在 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])
      

      这适用于标签,但也适用于窗口。

      【讨论】:

      • 这在 JMeter webdriver 采样器的情况下是不可能的。那里是 BeanShell 语言,我熟悉在 IDE 中处理窗口以及除了 jmeter webdriver 采样器之外的所有内容我如何使用 BeanShell 语言来做到这一点。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多