Установки:
Проблема на 4.
При нажатии на любое бронирование он перенаправляет меня на страницу входа, даже если я вошел в систему первым.
По запросу все шаги здесь.
private function executeLogin(\AcceptanceTester $I)
{
$I->amOnPage('/de/account/login');
$I->fillField('#_username', 'user');
$I->fillField('#_password', 'somepw');
$I->click('body > div > main > div > form > div > div > button');
}
public function logIn(\AcceptanceTester $I )
{
$I->wantTo('Log-in to My Website');
$this->executeLogin($I);
}
public function goToBookings(\AcceptanceTester $I)
{
$I->wantTo('Go to all my Bookings Page');
$flyOutButton = '.nav-main__link-flyout.nav-account';
$myBookingsButton = '/html/body/div/header/div/div/div/nav/ul/li[2]/div/div/div/ul/li[3]/a';
$I->moveMouseOver($flyOutButton);
$I->moveMouseOver($myBookingsButton);
$I->click($myBookingsButton);
}
public function checkForExtra(\AcceptanceTester $I)
{
$I->wantTo('Go through all Bookings and check if Extras are Available');
$extrasCounter = 1;
do{
// $I->click('/html/body/div/main/div/div[2]/div['.$extrasCounter.']/a/div/article/div/div/div/button');
$I->click('/html/body/div/main/div/div[2]/div['.$extrasCounter.']/a');
//TODO Here it Redirects to the Login // Should go to the booking details Page
$grabExtrasID = $I->grabMultiple('#add-extras-link');
$totalExtras = count($grabExtrasID);
$extrasCounter++;
if ($totalExtras === 1){
break;
}
codecept_debug($totalExtras);
$I->moveBack();
}while($totalExtras == 0);
}
$I->Click - это то место, где я выхожу из системы / перенаправляюсь на логин. И не на всю страницу с деталями бронирования.
Консольный вывод
I click "/html/body/div/main/div/div[2]/div[1]/a/div/article/div/div/div/button"
I grab multiple "#add-extras-link"
I move back
/de/account/bookings
0
I click "/html/body/div/main/div/div[2]/div[2]/a/div/article/div/div/div/button"
I grab multiple "#add-extras-link"
I move back
/de/account/bookings
0
I click "/html/body/div/main/div/div[2]/div[3]/a/div/article/div/div/div/button"
I grab multiple "#add-extras-link"
I move back
/de/account/bookings
0
I click "/html/body/div/main/div/div[2]/div[4]/a/div/article/div/div/div/button"
I grab multiple "#add-extras-link"
I move back
/de/account/bookings
0
I click "/html/body/div/main/div/div[2]/div[5]/a/div/article/div/div/div/button"
I grab multiple "#add-extras-link"
I move back
/de/account/bookings
0
Как вы можете видеть, 0 означает, что он нашел 0 классов из того, что я искал. Есть как минимум 3 бронирования с классом. Это потому, что он даже не переходит на страницу с деталями бронирования.
Надеюсь, в этом есть смысл, дайте мне знать, если вам нужна другая информация.
Спасибо.
Добавьте код шагов 1-3 и код, который их склеивает.
Весь код до этого момента добавлен. Интересно то, что на самом сайте это работает. Но только автоматизированный, его просто не будет. Я не уверен, что могло вызвать проблему. Но мне действительно любопытно.
1) Проверьте, был ли вход в систему успешным 2) Добавьте код теста к вашему вопросу 3) Выполните этот тест с флагом -vvv и поищите что-нибудь неожиданное в выводе.
Убедитесь, что пользователь действительно вошел в систему (например, проверьте, доступна ли кнопка выхода после отправки формы входа). У меня есть сотни тестов, требующих, чтобы актер был авторизован, и он работает нормально.






Любой ? Я знаю, что это довольно особенный случай.