behat,Mink在symfony2中:@javascript标签问题

behat & mink in symfony2 : @javascript tag issue

本文关键字:@javascript 标签 问题 symfony2 Mink behat      更新时间:2023-09-26

我在symfony项目(sf2.4)中尝试使用Behat和mink时遇到了一个问题。

:

我刚开始为symfony2项目测试代码,看起来棒极了。我也可以使用mink,因为我的主要项目目前是web项目。因此,我遵循官方文档的教程:official doc

问题:

在使用selenium测试"在浏览器中"解决方案时,我下载了jar,启动它,并通过另一个cmd行窗口运行:

php bin/behat features/search.feature

出现错误:

 [Behat'Testwork'ServiceContainer'Exception'ProcessingException]           
 The @javascript tag cannot be used without enabling a javascript session 

编辑: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()
    {
    }
}

解决方案:

我不太确定1)这个错误的含义(javascript会话?)也不确定2)如何解决它。我无法在网上找到有关原因和解决方法的适当文档。

任何提示非常感谢!

EDIT2:一旦这部分通过解决#behat中的错字解决了。(参见jakub的帖子,我在写这篇文章的时候正在使用),我有第二个错误:

Install MinkSelenium2Driver in order to use selenium2 driver.

这个错误很明显是由于错误的编写器设置。添加:

"behat/mink-selenium2-driver": "*"

解决了第二个问题。而且很有效!

亲切的问候,

你需要按照消息告诉你的去做并配置javascript会话;)

default:
  suites:
    first:
      mink_session: default
      mink_javascript_session: selenium2
  extensions:
    Behat'MinkExtension:
      base_url:  'http://example.com'
      sessions:
        default:
          goutte: ~
        selenium2:
          selenium2: ~

你正在阅读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(希望如此)。

相关文章: