Fix saucelabs integration

This commit is contained in:
everzet
2013-06-03 11:05:51 +01:00
parent 76a9c1f8fb
commit fe6c92e6dc
2 changed files with 35 additions and 28 deletions

View File

@@ -99,31 +99,6 @@ class Extension implements ExtensionInterface
} }
$loader->load('sessions/saucelabs.xml'); $loader->load('sessions/saucelabs.xml');
$http = 'https';
$host = 'ondemand.saucelabs.com';
if ($config['saucelabs']['connect']) {
$http = 'http';
$host = 'localhost:4445';
}
$username = $config['saucelabs']['username'];
$accessKey = $config['saucelabs']['access_key'];
$container->setParameter('behat.mink.saucelabs.wd_host', sprintf(
'%s://%s:%s@%s/wd/hub', $http, $username, $accessKey, $host
));
$container->setParameter('behat.mink.saucelabs.browser',
$config['saucelabs']['capabilities']['browser_name']
);
if ($config['saucelabs']['travis']) {
$capabilities = $container->getParameter('behat.mink.saucelabs.capabilities');
$capabilities['tunnel-identifier'] = getenv('TRAVIS_JOB_NUMBER');
$capabilities['build'] = getenv('TRAVIS_BUILD_NUMBER');
$container->setParameter('behat.mink.saucelabs.capabilities');
}
} }
$minkParameters = array(); $minkParameters = array();
@@ -142,6 +117,29 @@ class Extension implements ExtensionInterface
} }
$container->setParameter('behat.mink.parameters', $minkParameters); $container->setParameter('behat.mink.parameters', $minkParameters);
if (isset($config['saucelabs'])) {
$capabilities = $container->getParameter('behat.mink.saucelabs.capabilities');
if ($config['saucelabs']['travis']) {
$capabilities['tunnel-identifier'] = getenv('TRAVIS_JOB_NUMBER');
$capabilities['build'] = getenv('TRAVIS_BUILD_NUMBER');
}
$container->setParameter('behat.mink.saucelabs.capabilities', $capabilities);
$host = 'ondemand.saucelabs.com';
if ($config['saucelabs']['connect']) {
$host = 'localhost:4445';
}
$username = $config['saucelabs']['username'];
$accessKey = $config['saucelabs']['access_key'];
$container->setParameter('behat.mink.saucelabs.wd_host', sprintf(
'%s:%s@%s/wd/hub', $username, $accessKey, $host
));
}
if (isset($config['base_url'])) { if (isset($config['base_url'])) {
$container->setParameter('behat.mink.base_url', $config['base_url']); $container->setParameter('behat.mink.base_url', $config['base_url']);
} }
@@ -378,10 +376,13 @@ class Extension implements ExtensionInterface
booleanNode('connect')-> booleanNode('connect')->
defaultValue(isset($config['saucelabs']['connect']) ? 'true' === $config['saucelabs']['connect'] : false)-> defaultValue(isset($config['saucelabs']['connect']) ? 'true' === $config['saucelabs']['connect'] : false)->
end()-> end()->
scalarNode('browser')->
defaultValue(isset($config['saucelabs']['browser']) ? $config['saucelabs']['browser'] : 'firefox')->
end()->
arrayNode('capabilities')-> arrayNode('capabilities')->
children()-> children()->
scalarNode('browser')-> scalarNode('name')->
defaultValue(isset($config['saucelabs']['browser']) ? $config['saucelabs']['browser'] : 'firefox')-> defaultValue(isset($config['saucelabs']['name']) ? $config['saucelabs']['name'] : 'Behat feature suite')->
end()-> end()->
scalarNode('platform')-> scalarNode('platform')->
defaultValue(isset($config['saucelabs']['platform']) ? $config['saucelabs']['platform'] : 'Linux')-> defaultValue(isset($config['saucelabs']['platform']) ? $config['saucelabs']['platform'] : 'Linux')->

View File

@@ -7,7 +7,13 @@
<parameter key="behat.mink.driver.saucelabs.class">Behat\Mink\Driver\Selenium2Driver</parameter> <parameter key="behat.mink.driver.saucelabs.class">Behat\Mink\Driver\Selenium2Driver</parameter>
<parameter key="behat.mink.saucelabs.browser">%behat.mink.browser_name%</parameter> <parameter key="behat.mink.saucelabs.browser">%behat.mink.browser_name%</parameter>
<parameter key="behat.mink.saucelabs.capabilities" type="collection"></parameter> <parameter key="behat.mink.saucelabs.capabilities" type="collection">
<parameter key="name" type="string">Behat feature suite</parameter>
<parameter key="version" type="string">21</parameter>
<parameter key="platform" type="string">Linux</parameter>
<parameter key="selenium-version" type="string">2.31.0</parameter>
<parameter key="max-duration">300</parameter>
</parameter>
<parameter key="behat.mink.saucelabs.wd_host">https://USERNAME:ACCESS_KEY@ondemand.saucelabs.com/wd/hub</parameter> <parameter key="behat.mink.saucelabs.wd_host">https://USERNAME:ACCESS_KEY@ondemand.saucelabs.com/wd/hub</parameter>
</parameters> </parameters>