我正在使用Behat和Mink。
我希望我的一个步骤定义能够根据正在运行的驱动程序采取不同的行动。
理想情况下,我的代码看起来像这样
public function stepDefinition(){
if($this->getSession()->getDriver()->name == 'goutte'){
//code to run if using goutte
}else{
//code to run if selenium is running
}
}
答案 0 :(得分:1)
所以,尽管对代码进行一些深入研究意味着我已经找到了解决方案。并且看到谷歌没有任何帮助,希望这对其他人有帮助。
我的代码现在看起来像这样
if( $this->getSession()->getDriver() instanceof Behat\Mink\Driver\Selenium2Driver){
// Selenium Code
}else{
//Goutte Code
}
我刚刚抓住了驱动程序对象并检查了哪个驱动程序类是它的扩展名,简单。
现在,如果@javascript
标记在我的场景之前或之前,我可以运行相同的步骤定义。