Сodeception: Не осуществляется вход в кабинет.

Здравствуйте.
Никак не могу понять почему не входит в кабинет пользователя.
Есть ссылка “ВОЙТИ”, при нажатии на нее открывается окно.
Там поля “Логин” и “Пароль”, кнопки “Войти”, “Зарегистрироваться”, ссылка “Забыли пароль”.

Так вот при вводе данных в поля и нажатии на кнопку “Войти” как я понимаю окно не закрывается и не осуществляется переход в кабинет.
Это я поняла когда после входа проверяю видимость элементов окна. Он их видит. Значит окно не закрывается.

Код

{
    $I->amOnPage('/');
    $I->click(['link' => 'ВОЙТИ']);
    $I->fillField('username', '23200000111831298');
    $I->fillField('password', '1234567');
    $I->click('Войти');

    $I->wait(5);
    $I->see('Здравствуйте');
code

Так же есть форма, при нажатии на кнопку хочу проверить что появляются сообщения об ошибках, что поля не заполнены.
Так вот пока 2 раза не нажмешь кнопку “Отправить” они не появятся…

$I->click('Отправить');
$I->click('Отправить');
$I->wait(5);
$I->see('Выберите тему обращения');
$I->see('Требуется заполнить поле, оно не может быть пустым');
code

И если ввожу не правильный емайл, нажимаю “Отправить” то у меня появляется сообщение что “Введите верный email”. И тут уже сколько бы не нажимай на эту кнопку отправить это сообщение он не видит.

Может как-то иначе на кнопки можно нажимать, данные в поля вводить?

   //в поле "E-mail" вводим "1"
   $I->fillField(['name' => 'email'], '1');
   $I->click('Отправить');
   $I->wait(3);
   //проверяем появилось ли сообщение об ошибке
   $I->see('Введите корректный');
   $I->seeInField(['name' => 'email'], '1');
code

Попробуйте метод submitForm
https://codeception.com/docs/modules/WebDriver#submitForm

1 лайк

спасибо

    Проблема была в обращении в кнопке "Войти"
$I->click('.login-form button[type=submit]');
code

так все работает

Хорошо, что у Codeception нет кабинета :slight_smile:

1 лайк