Po poprzedniej lekcji, w której zaczynaliśmy budować nasz framework testowy w oparciu o Page Object Model możemy przejść do dalszych prac nad frameworkiem. W tej lekcji powstanie kolejna klasa Page Object. Przepiszemy kolejny test i upewnimy się, że działa nie tylko na Chrome ale także na Firefox.
Uwaga: plik z projektem testowym, na którym pracujemy w lekcjach dotyczących POM wymaga uzyskania dostępu. Dostaniesz go tutaj.
Zaktualizowane klasy (w stosunku do poprzedniej lekcji)
Klasa Page Object: CategoryPage
Ukryta treść
Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.
Klasa testowa: CartTests
Ukryta treść
Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.
Hej, czy mogłabyś mi powiedzieć, czy profesjonalnym i zgodnym z "sztuką", jest tworzenie page objectów w page classach?
Np.
Mam klasy LoginPage (przed logowaniem) i DashboardPage (pierwsza strona po logowaniu).
W LoginPage mam findby'e i między innymi metodę login(), w której na końcu mam:
DashboardPage dashboardPage = new DashboardPage(driver);
if (seleniumHelper.checkIfElementExist(By.xpath("jakiś popup")))
dashboardPage.closePopout();
}
Będę tę metodę login() wykonywać dziesiątki razy w metodach testowych, chciałbym nie dublować kodu w metodach testowych z typ popupem, tylko mieć cały ten proces logowania (łącznie z sprawdzeniem i zamkniętem popupa) w metodzie login() w klasie LoginPage.
Co o tym uważasz?
Pozdro!
Halko! Nie wiem co masz na myśli pisząc "tworzen [...] Całość odpowiedzi widoczna dla kursantów.