0

我正在将 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
    }
}
4

1 回答 1

1

因此,尽管对代码进行了一些研究,但这意味着我已经找到了解决方案。并且看到谷歌没有帮助,希望这对其他人有帮助。

我的代码现在看起来像这样

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

我刚刚抓取了驱动程序对象并检查了它是哪个驱动程序类的扩展,很简单。

@javascript现在,如果标签在我的场景之前或不在我的场景之前,我可以运行相同的步骤定义。

于 2013-09-06T11:11:59.953 回答