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
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.