运行 行为时出错

Error while running behat

第一种情况有效,但第二种情况失败

特征文件:

And I click the "#redeem" element
And I wait for the ajax response
And I should see "OPERATOR CONTACT DETAILS AND INFORMATION WILL BE PROVIDED VIA EMAIL ON CONFIRMATION"
And I click the "#place_order" element
And I wait for the ajax response
Then I should see "Woohoo and thanks for booking!"

@javascript
Scenario: For checking mail in inbox of Gmail 
Given I am on "https://gmail.com"
And I wait 12 seconds
And I fill in "Email" with "amit.dinda.prdxn@gmail.com"

水貂环境:

/**
     * Fills in form field with specified id|name|label|value.
     *
     * @When /^(?:|I )fill in "(?P<field>(?:[^"]|\")*)" with "(?P<value>(?:[^"]|\")*)"$/
     * @When /^(?:|I )fill in "(?P<field>(?:[^"]|\")*)" with:$/
     * @When /^(?:|I )fill in "(?P<value>(?:[^"]|\")*)" for "(?P<field>(?:[^"]|\")*)"$/
     */
    public function fillField($field, $value)
    {
        $field = $this->fixStepArgument($field);
        $value = $this->fixStepArgument($value);
        $this->getSession()->getPage()->fillField($field, $value);
    }

错误信息:

 And I should see "OPERATOR CONTACT DETAILS AND INFORMATION WILL BE PROVIDED VIA EMAIL ON CONFIRMATION" # FeatureContext::assertPageContainsText()
    And I click the "#place_order" element                                                                 # FeatureContext::iClickTheElement()
    And I wait for the ajax response                                                                       # FeatureContext::iWaitForTheAjaxResponse()
    Then I should see "Woohoo and thanks for booking!"                                                     # FeatureContext::assertPageContainsText()

  @javascript
  Scenario: For checking mail in inbox of Gmail                                 # features/Redeem_a_Experience_voucher.feature:45
    Given I am on "https://gmail.com"                                           # FeatureContext::visit()
    And I wait 12 seconds                                                       # FeatureContext::iWaitSeconds()
    And I fill in "Email" with "amit.dinda.prdxn@gmail.com"                     # FeatureContext::fillField()
      Form field with id|name|label|value|placeholder "Email" not found. (Behat\Mink\Exception\ElementNotFoundException)
    And I click the "#next" element   

如果 运行 两种情况不同,那么它就可以很好地工作。为什么这两种情况结合在一起就不行了。

您应该在功能级别使用 @insulated 标签。
此标签将确保您每次都有一个干净的会话。

将此标签添加到功能文件的第一行,Feature 键之前。

You can use @javascript the same way at a feature level and it will apply for each scenario