Я пытаюсь проверить функциональность «запомнить меня» с помощью Behat и Mink в проекте Symfony2. Однако мой подход не работает.
Я пробовал следующее:
#behat.yml
Scenario: Checking Remember me
Given I am on "/"
When I fill in "username" with "john"
And I fill in "password" with "john"
And I check "remember_me"
And I press "Login"
Then I should be logged in
When I restart the browser
Then I should be logged in
Scenario: Not Checking Remember me
Given I am on "/"
When I fill in "username" with "john"
And I fill in "password" with "john"
And I press "Login"
Then I should be logged in
When I restart the browser
Then I should be logged out
Мой контекст функции содержит (среди прочего) следующие методы:
#FeatureContext.php
/**
* @Then /^I should be logged in$/
*/
public function iShouldBeLoggedIn()
{
$this->assertElementOnPage('.user-area');
}
/**
* @Given /^I should be logged out$/
*/
public function iShouldBeLoggedOut()
{
$this->assertElementNotOnPage('.user-area');
}
/**
* @When /^I restart the browser$/
*/
public function iRestartTheBrowser()
{
$driver = $this->getSession()->getDriver();
$session = new Session($driver);
$session->start();
$session->visit('/');
}
Проблема заключается в iRestartTheBrowser()
. Это не делает то, что он должен делать. Я ищу способ очистить данные сеанса, но сохранить файлы cookie. Любая помощь?