2013-09-06 3 views
0

밍크와 함께 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

과 같을 것입니다. 그리고 구글이 도움이되지 않는 것으로 보아도, 이것은 다른 누군가에게 도움이 될 것입니다.

내 코드는 지금은 그냥 드라이버 객체를 잡고했는데 간단의 확장이다하는 드라이버 클래스 체크 한이

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

것 같습니다.

@javascript 태그가 내 시나리오보다 먼저 나타나거나 그렇지 않은 경우 동일한 단계 정의를 실행할 수 있습니다.