Skip to content

Commit

Permalink
Minor WebDriverListener refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
OndraM committed Aug 5, 2016
1 parent 260d284 commit 414c0de
Showing 1 changed file with 41 additions and 28 deletions.
69 changes: 41 additions & 28 deletions src/Listener/WebDriverListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,37 +69,10 @@ public function startTest(\PHPUnit_Framework_Test $test)
$test->getName()
);

$capabilities = new DesiredCapabilities(
[
WebDriverCapabilityType::BROWSER_NAME => $config->browserName,
WebDriverCapabilityType::PLATFORM => WebDriverPlatform::ANY,
'name' => get_class($test) . '::' . $test->getName(),
]
);

if (!empty($config->capability)) {
$extraCapabilities = json_decode($config->capability);
foreach ($extraCapabilities as $extraCapabilityName => $extraCapabilityValue) {
$capabilities->setCapability($extraCapabilityName, $extraCapabilityValue);
}
}

$ci = CiDetector::detect();
if ($ci) {
$capabilities->setCapability(
'build',
ConfigProvider::getInstance()->env . '-' . CiDetector::detect()->getBuildNumber()
);
$capabilities->setCapability(
'tags',
[ConfigProvider::getInstance()->env, $ci->getCiName(), get_class($test)]
);
}

$this->createWebDriver(
$test,
$config->serverUrl . SeleniumServerAdapter::HUB_ENDPOINT,
$this->setupCustomCapabilities($capabilities, $config->browserName),
$this->setupCapabilities($test),
$connectTimeoutMs = 2*60*1000,
// How long could request to Selenium take (eg. how long could we wait in hub's queue to available node)
$requestTimeoutMs = 60*60*1000 // 1 hour (same as timeout for the whole process)
Expand Down Expand Up @@ -278,4 +251,44 @@ protected function setupPhantomjsCapabilities(DesiredCapabilities $capabilities)
{
return $capabilities;
}

/**
* @param AbstractTestCase $test
* @return DesiredCapabilities
*/
private function setupCapabilities(AbstractTestCase $test)
{
$config = ConfigProvider::getInstance();

$capabilities = new DesiredCapabilities(
[
WebDriverCapabilityType::BROWSER_NAME => $config->browserName,
WebDriverCapabilityType::PLATFORM => WebDriverPlatform::ANY,
'name' => get_class($test) . '::' . $test->getName(),
]
);

if (!empty($config->capability)) {
$extraCapabilities = json_decode($config->capability);
foreach ($extraCapabilities as $extraCapabilityName => $extraCapabilityValue) {
$capabilities->setCapability($extraCapabilityName, $extraCapabilityValue);
}
}

$ci = CiDetector::detect();
if ($ci) {
$capabilities->setCapability(
'build',
ConfigProvider::getInstance()->env . '-' . CiDetector::detect()->getBuildNumber()
);
$capabilities->setCapability(
'tags',
[ConfigProvider::getInstance()->env, $ci->getCiName(), get_class($test)]
);
}

$capabilities = $this->setupCustomCapabilities($capabilities, $config->browserName);

return $capabilities;
}
}

0 comments on commit 414c0de

Please sign in to comment.