Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

Selenium 77. Page Object Model: części wspólne różnych stron na przykładzie HeaderPage

Po małym refaktorze możemy przejść do kolejnej lekcji, a w niej przepisz ze mną kolejny już test. Tym razem pokażę Ci jak rozwiązać nowy dla nas problem, a mianowicie jak poradzić sobie w sytuacji, gdy mamy na stronie jakieś moduły albo części wspólne. Wyjaśnię to na przykładzie HeaderPage czyli klasy, która będzie reprezentowała nagłówek strony.

Uwaga: plik z projektem testowym, na którym pracujemy w lekcjach dotyczących POM wymaga uzyskania dostępu. Dostaniesz go tutaj.

 

Zaktualizowane klasy

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

Bazowa klasa testowa: BaseTest

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Klasa Page Object: CartPage

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

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 Page Object: ProductPage

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Klasa Page Object: BasePage

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Klasa Page Object: HeaderPage

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Lista lekcji dotyczących Page Object Model:

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.

  1. Hej 🙂 Mam takie pytanie odnośnie tej lekcji:
    A czy nie można by było umieścić wszystkich metod powiązanych z interakcją z tym headerem w BasePage? W końcu BasePage ma zawierać metody, które byłyby dostępne z każdej podstrony sklepu, a header jest częścią wspólną wszystkich PageObjectów. Rozchodzi mi się o to, czy to nie uprościłoby nam kodu, gdybyśmy się trzymali tego, że BasePage jest częścią wspólną dla PageObjectów, bez konieczności tworzenia kolejnych klas? Czy to jednak jest zły pomysł? I jeśli zły, to dlaczego?

    Odpowiedz