File "FirefoxDriver.php"
Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/vendor/php-webdriver/webdriver/lib/Firefox/FirefoxDriver.php
File size: 2.45 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Facebook\WebDriver\Firefox;
use Facebook\WebDriver\Local\LocalWebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\Service\DriverCommandExecutor;
use Facebook\WebDriver\Remote\WebDriverCommand;
class FirefoxDriver extends LocalWebDriver
{
/**
* @deprecated Pass Firefox Profile using FirefoxOptions:
* $firefoxOptions = new FirefoxOptions();
* $firefoxOptions->setProfile($profile->encode());
* $capabilities = DesiredCapabilities::firefox();
* $capabilities->setCapability(FirefoxOptions::CAPABILITY, $firefoxOptions);
*/
public const PROFILE = 'firefox_profile';
/**
* Creates a new FirefoxDriver using default configuration.
* This includes starting a new geckodriver process each time this method is called. However this may be
* unnecessary overhead - instead, you can start the process once using FirefoxDriverService and pass
* this instance to startUsingDriverService() method.
*
* @return static
*/
public static function start(DesiredCapabilities $capabilities = null)
{
$service = FirefoxDriverService::createDefaultService();
return static::startUsingDriverService($service, $capabilities);
}
/**
* Creates a new FirefoxDriver using given FirefoxDriverService.
* This is usable when you for example don't want to start new geckodriver process for each individual test
* and want to reuse the already started geckodriver, which will lower the overhead associated with spinning up
* a new process.
*
* @return static
*/
public static function startUsingDriverService(
FirefoxDriverService $service,
DesiredCapabilities $capabilities = null
) {
if ($capabilities === null) {
$capabilities = DesiredCapabilities::firefox();
}
$executor = new DriverCommandExecutor($service);
$newSessionCommand = WebDriverCommand::newSession(
[
'capabilities' => [
'firstMatch' => [(object) $capabilities->toW3cCompatibleArray()],
],
]
);
$response = $executor->execute($newSessionCommand);
$returnedCapabilities = DesiredCapabilities::createFromW3cCapabilities($response->getValue()['capabilities']);
$sessionId = $response->getSessionID();
return new static($executor, $sessionId, $returnedCapabilities, true);
}
}