如何使用Behat和MinkPHP处理浏览器窗口或选项卡

如何使用Behat和MinkPHP处理浏览器窗口或选项卡,php,browser,automation,behat,mink,Php,Browser,Automation,Behat,Mink,我有一个测试,点击链接,然后新的浏览器窗口打开,在新的浏览器窗口中,我需要检查一些元素是否存在。如何切换到使用BEHAT/MINK打开的新浏览器窗口 您可以使用切换窗口($windowName)方法 $this->getSession()->switchToWindow($windowName); 方法声明是 例如,您可以从当前会话获取所有窗口,然后切换到第二个窗口 $windowNames = $this->getSession()->getWindowNames()

我有一个测试,点击链接,然后新的浏览器窗口打开,在新的浏览器窗口中,我需要检查一些元素是否存在。如何切换到使用BEHAT/MINK打开的新浏览器窗口

您可以使用
切换窗口($windowName)
方法

$this->getSession()->switchToWindow($windowName);
方法声明是

例如,您可以从当前会话获取所有窗口,然后切换到第二个窗口

$windowNames = $this->getSession()->getWindowNames();
if(count($windowNames) > 1) {
    $this->getSession()->switchToWindow($windowNames[1]);
}

感谢Igor,我知道这个方法,但是我不知道如何获取窗口名。例如,如果您的窗口名是动态的,那么只需使用上面提到的getWindowNames()并切换到第二个名称。也许您还需要添加方法,以便在第二个窗口打开时等待。