public function tearDown() { // return if the driver wasn't initialized if (!$this->_driver) { return; } if (self::$_config['persist']) { try { $alert = new Alert($this->_driver); $alert->dismiss(); } catch (Exception $e) { } try { foreach ($this->_driver->getWindowHandles() as $handle) { // skip the original window if ($handle == self::$_handle) { continue; } // try to close any other windows that were opened try { $this->_driver->switchTo()->window($handle); $this->_driver->close(); } catch (Exception $e) { } } $this->_driver->switchTo()->window(self::$_handle); $this->_driver->switchTo()->activeElement(); } catch (SeleniumUnknownErrorException $e) { // test case may have closed the parent window self::$_handle = null; return; } $this->_driver->manage()->deleteAllCookies(); $this->_driver->manage()->timeouts()->implicitWait(0); $this->_driver->manage()->window()->setPosition($this->_position['x'], $this->_position['y']); $this->_driver->manage()->window()->setSize($this->_size['width'], $this->_size['height']); $this->_driver->manage()->timeouts()->pageLoadTimeout(10000); } else { try { $this->_driver->quit(); } catch (Exception $e) { } } }