Behat / Mink - 会话在场景中部分丢失

时间:2016-03-10 10:32:17

标签: php phantomjs behat mink

我有一个Behat场景,如下所示:

Scenario: Creating and booking an event
    Given I go to "http://domain.com/"
    And I am logged in with the username "user" and password "pass"
    And I follow "link"
    When I press "Book Now"
    Then I should see "Booking Confirm"

这很好用,但我希望能够指定登录后要访问的特定URL,而不是仅仅跟踪链接。像这样:

Scenario: Creating and booking an event
    Given I go to "http://domain.com/"
    And I am logged in with the username "user" and password "pass"
    And I go to "http://domain.com/single-event/?event_id=14&start_time=1457481600&finish_time=1457481600"
    When I press "Book Now"
    Then I should see "Booking Confirm"

当我这样写测试时,它不起作用 - 我得到:

Button with id|name|title|alt|value "Book Now" not found.

我已经转储了此时正在解析的HTML,很明显用户已注销(如果用户已注销,则“立即预订”按钮不会出现)。似乎在&#34之后开始了一个新的会话。我去了"声明 - 是可以避免的,有没有其他方法可以实现我正在寻找的东西?

1 个答案:

答案 0 :(得分:2)

您必须指定“立即预订”。正如错误消息所说的那样。例如,如果它是id,则必须添加#tag。

When I press "#Book Now"