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) {
}
}
}