Example #1
0
require __DIR__ . "/spec/Api/Helpers.php";
use Behat\Mink\Driver\Selenium2Driver;
use Behat\Mink\Mink;
use Behat\Mink\Session;
use Peridot\WebDriverManager\Manager;
use Kahlan\Box\Box;
use Kahlan\Code\Code;
use Kahlan\Code\TimeoutException;
use Kahlan\Filter\Filter;
use Kahlan\Matcher;
$box = box('spec', new Box());
$box->service('manager', function () {
    $manager = new Manager();
    $manager->update();
    return $manager->startInBackground();
});
$box->service('mink', function () {
    $selenium = new Selenium2Driver('firefox', null, 'http://localhost:4444/wd/hub');
    $mink = new Mink(['firefox' => new Session($selenium)]);
    $mink->setDefaultSessionName('firefox');
    return $mink;
});
Filter::register('exclude.namespaces', function ($chain) {
    $defaults = ['Behat'];
    $excluded = $this->commandLine()->get('exclude');
    $this->commandLine()->set('exclude', array_unique(array_merge($excluded, $defaults)));
    return $chain->next();
});
Filter::register('run.webdriver', function ($chain) {
    $process = box('spec')->get('manager');