Различные действия в зависимости от того, какой драйвер норки работает

Я использую Behat с норкой.

Мне бы хотелось, чтобы одно из моих определений шагов действовало по-разному, в зависимости от того, какой драйвер запущен.

В идеале мой код должен выглядеть примерно так

public function stepDefinition(){
    if($this->getSession()->getDriver()->name == 'goutte'){
        //code to run if using goutte
    }else{
        //code to run if selenium is running
    }
}

1 ответ

Решение

Таким образом, хотя небольшое углубление в код означало, что я нашел решение для этого. И, видимо, как Google не помог, надеюсь, это поможет кому-то еще.

Мой код теперь выглядит так

    if( $this->getSession()->getDriver() instanceof Behat\Mink\Driver\Selenium2Driver){
       // Selenium Code
    }else{
        //Goutte Code
    }

Я только что схватил объект драйвера и проверил, к какому классу драйверов это расширение, просто.

Теперь я могу запустить то же самое определение шага, если @javascript тег есть или не до моего сценария.

Другие вопросы по тегам