Php Laravel behat CSRF令牌

Php Laravel behat CSRF令牌,php,laravel,behat,Php,Laravel,Behat,我试图做第一个behat测试,但当我运行它时,我得到了TokenMis。。。错误。我知道为什么。因为它不会在我的表单中呈现标记。我向以下机构查询: $this->getSession()->getPage()->getHtml() 我得到: 通常必须是: 所以我的问题是我做错了什么 我的功能看起来: Feature: User Login To test if user can login to system Scenario: Successful Authentication

我试图做第一个behat测试,但当我运行它时,我得到了TokenMis。。。错误。我知道为什么。因为它不会在我的表单中呈现标记。我向以下机构查询:

$this->getSession()->getPage()->getHtml()

我得到:

通常必须是:


所以我的问题是我做错了什么

我的功能看起来:

Feature: User Login
 To test if user can login to system

 Scenario: Successful Authentication
   Given I sign in "email" "pw"
   Then I should be sign in
配置:

default:
  autoload:
    '': %paths.base%/features/bootstrap
  suites:
    default:
      contexts:
        - 'FeatureContext'
      paths:
        - %paths.base%/features/default.feature
    user_login_module:
      contexts:
        - 'UserLoginContext'
      paths:
        - %paths.base%/features/user-login.feature
  extensions:
    Laracasts\Behat:
      env_path: .env.laravel.behat
    Behat\MinkExtension:
      default_session: laravel
      base_url: http://localhost:8080
      laravel: ~
FeatureContext文件(UserLoginContext):

请将其包含在刀片文件中。这将自动生成以下代码

 <form  action = "{{ url('test') }}" method="POST">
 {{ csrf_field() }} 
 ....
 ....
 </form>

{{csrf_field()}}
....
....
编辑1:


我认为behat laravel扩展本身有一个缺陷,而不是您的代码

嗯。。当我使用selenium时,它会打开它的工作浏览器。现在我在想,如何让它在没有硒的情况下工作。
 <form  action = "{{ url('test') }}" method="POST">
 {{ csrf_field() }} 
 ....
 ....
 </form>