我正在尝试将Behat + Mink + Selenium2Driver用于Symfony2。
default:
extensions:
Behat\Symfony2Extension\Extension:
mink_driver: true
Behat\MinkExtension\Extension:
default_session: 'symfony2'
base_url: http://localhost/fhm_mind_solution/app_dev.php/
selenium2:
wd_host: 'http://127.0.0.1:4444/wd/hub'
capabilities: { "browser": "firefox", "version": "23"}
class FeatureContext extends RawMinkContext
implements KernelAwareInterface
{
private $kernel;
private $parameters;
public function __construct(array $parameters)
{
$this->useContext('mink', new MinkContext);
}
/* [...] */
public function iCanAuthenticateAsAnAdmin()
{
$this->getSession();
}
答案 0 :(得分:1)
首先,您没有正确配置selenium驱动程序。它应该是:
default:
extensions:
Behat\Symfony2Extension\Extension:
mink_driver: true
Behat\MinkExtension\Extension:
default_session: 'symfony2'
base_url: http://localhost/fhm_mind_solution/app_dev.php/
selenium2:
wd_host: 'http://127.0.0.1:4444/wd/hub'
capabilities: { "browser": "firefox", "version": "23"}
其次,您不必自己初始化驱动程序或会话。它是由MinkExtension为您完成的。
只需将您的上下文扩展为Behat\MinkExtension\Context\RawMinkContext
,即可访问$this->getSession()
方法。
在官方文档中阅读更多内容:http://extensions.behat.org/mink/
您可以在selenium2配置中看到可用的功能:https://github.com/Behat/MinkExtension/blob/2.0/src/Behat/MinkExtension/services/sessions/selenium2.xml#L10