Wis*_*bes 0 javascript symfony behat mink
我在尝试在symfony项目中使用Behat和mink时面临一个问题(sf2.4).
情况:
我刚刚开始测试syhat for symfony2项目,看起来很棒.我也可以使用mink,因为我的主要项目目前是web项目.因此,我遵循官方文档的教程:官方文档
问题:
在使用selenium测试"在浏览器中"解决方案时,我下载jar,启动它,然后通过另一个cmd行窗口运行:
php bin/behat features/search.feature
Run Code Online (Sandbox Code Playgroud)
并出现错误:
[Behat\Testwork\ServiceContainer\Exception\ProcessingException]
The @javascript tag cannot be used without enabling a javascript session
Run Code Online (Sandbox Code Playgroud)
编辑:featureContext.php看起来像这样
<?php
#features/FeatureContext.php
use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\Gherkin\Node\PyStringNode;
use Behat\Gherkin\Node\TableNode;
use Behat\MinkExtension\Context\MinkContext;
/**
* Behat context class.
*/
//class FeatureContext implements SnippetAcceptingContext
class FeatureContext extends MinkContext
{
/**
* Initializes context.
*
* Every scenario gets it's own context object.
* You can also pass arbitrary arguments to the context constructor through behat.yml.
*/
public function __construct()
{
}
}
Run Code Online (Sandbox Code Playgroud)
解:
我不太确定1)这个错误的含义(javascript会话?)也不是2)如何解决它.我无法在网上获得有关原因和修复的适当文档.
任何提示非常感谢!
EDIT2:一旦这个部分通过解决#behat.yml中的拼写错误,或者通过跟随behat3的doc查看jakub的帖子(我在本帖时使用的那篇文章)来解决,我有第二个错误:
Install MinkSelenium2Driver in order to use selenium2 driver.
Run Code Online (Sandbox Code Playgroud)
由于错误的作曲家设置,这个错误最明显.只需添加:
"behat/mink-selenium2-driver": "*"
Run Code Online (Sandbox Code Playgroud)
解决了第二个问题.它的工作原理!
亲切的问候,
您需要执行消息告诉您要执行的操作并配置javascript会话;)
default:
suites:
first:
mink_session: default
mink_javascript_session: selenium2
extensions:
Behat\MinkExtension:
base_url: 'http://example.com'
sessions:
default:
goutte: ~
selenium2:
selenium2: ~
Run Code Online (Sandbox Code Playgroud)
您正在阅读Behat v2中的文档,但您正在使用Behat v3.
v3的文档还没有在behat.org上.现在,请在此处阅读:http://behat.readthedocs.org/en/latest/
对于MinkExtension,请访问:https://github.com/Behat/MinkExtension/blob/master/doc/index.rst
文档应尽快发布到behat.org(hopefuly).