Behat Selenium testy – přihlášení

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Kotalík
Člen | 16
+
0
-

Zdravím,
řeším následující problém:
Používám:

  • Nette 2.3
  • Behat 3 stable
  • Mink 1.6
  • Gherkin

a snažím se napsat feature step, který by mě přihlásil.
Problém je ale v tom, že se ke mně Mink sice chová jako k přihlášenému uživateli a pustí mě i do administrace, ale:

  • když použiji nějaké přesměrování (Mink stepy jako „I follow …“ nebo „I press“ u formuláře), tak mě to z nějakého důvodu odhlásí
  • nezobrazuje se mi Tracy (v případě, že se kouknu co se v Minku děje), přestože to jindy jde

Zkoušel jsem různé obměny, které fungovaly správně, v principu jde o toto:

<?php
$admin = new Nette\Security\Identity(1, 'admin', array('nick' => 'admin'));

$user = $this->context->getByType('Nette\Security\User');
$user->login($admin);
$session = $this->context->getService('session');
$sessionId = $session->getId();
$session->close();

$this->context->getByType('Nette\Application\Application')->run();

$this->setBrowserCookie($session->getName(), $sessionId);//tady podstrčím ID vygenerované session Minku
?>

Zajímavé také je, že když se přihlásím ručně (vyplním Gherkinem formulář na přihlašování, odešlu ho a pak se proklikám kam potřebuji), tak to funguje správně, ale step „I am on …“ dělá opět ten samý problém.

Prosím o radu, co s tím, popřípadě jak se korektně přihlásit do Minku s Behatem 3 a Nette 2.3. Díky.