Принятие Codeception: Как проверить измененный URL

Я пытаюсь подтвердить и опубликовать действие входа в систему. Но проблема возникает после входа в систему, когда пользователь перенаправляется на страницу индекса. Приветственное сообщение отображается только для аутентифицированных пользователей. Кто-нибудь может мне помочь. Я использую Yii 2 Framework!

use \AcceptanceTester;

class LoginCest
{
public function login(AcceptanceTester $I)
{
$I->am('Login Page');
$I->wantTo('Login Exists?');
$I->amOnPage('/index.php?r=site/login');
$I->see('Title');
$I->see('User');
$I->see('Password');
}

/**
* @after login
*/
public function validLogin(AcceptanceTester $I)
{
$I->amOnPage('/index.php?r=site/login');
$I->fillField('LoginForm[username]', 'username');
$I->fillField('LoginForm[password]', 'password');
$I->click('Login');
$I->amOnPage('/index.php');
$I->see('Welcome {UserName}!', 'h1');
}
}

Scenario Steps:
6. I see "Welcome!","h1" <<< FAIL
5. I am on page "/index.php"4. I click "Login"3. I fill field "LoginForm[password]","username"2. I fill field "LoginForm[username]","password"1. I am on page "/index.php?r=site/login"
FAILURES! Tests: 2, Assertions: 4, Failures: 1.

0

Решение

Я думаю, что вам не нужно это «$ I-> amOnPage (‘/ index.php’);» потому что это не проверяет текущий URL (для этого вы должны использовать «$ I-> seeInCurrentUrl (…)»), но приводит вас к этому URL. Итак, что вы на самом деле делаете, это обновляете свою индексную страницу и теряете приветственное флеш-сообщение.
Я считаю, что все, что вам нужно, это просто удалить эту команду, так как после нажатия на кнопку «Вход» вы уже перенаправлены на главную страницу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector