Selenium 70. Page Object Model: wprowadzenie

Interesuje Cię ten kurs?

Dołącz do listy mailingowej, a poinformuję Cię o otwarciu zapisów.

Przyszedł w końcu czas na Page Object Model, czyli na to, co pozwala nam sprawić, że nasze testy będą łatwiejsze w utrzymaniu i zarządzaniu. Ten wzorzec projektowy pozwala także na sprawniejsze pisanie testów w oparciu o już stworzone metody.

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

W tym wstępie do POM dowiesz się na czym on z grubsza polega i jakie są jego założenia. Pokażę Ci także jakie są korzyści z takiego podejścia, ale jestem pewna, że wraz z kolejnymi lekcjami znajdziesz kilka dodatkowych. Do kilku podstawowych korzyści należą:

  • jeżeli coś się zmieni na stronie, to będziemy zmieniać jedynie Page Objecty, bez ingerencji w klasy testowe,
  • łatwiejsze zarządzanie i utrzymanie kodu,
  • prostsze i krótsze nazwy metod (ponieważ jesteśmy już w jakimś kontekście),
  • krótszy i czytelniejszy kod testów,
  • łatwiejsze pisanie nowych testów (podpowiedzi).

Tworzenie swojego własnego frameworka w użyciu o Page Object Model jest też moim zdaniem świetnym sposobem dla aspirującego testera automatyzującego, żeby ostatecznie zrozumieć podstawowe paradygmaty programowania obiektowego.

W tej lekcji pokażę Ci też jak przygotować się do następnych lekcji dotyczących Page Object Model i skąd ściągnąć projekt, na którym będziemy pracować.

Przydatne linki

Krótkie wprowadzenie do Page Object Design Pattern na seleniumhq.org.

Projekt testowy na podstawie którego będziemy tworzyć framework.

Plik z gotowym projektem – tutaj uzyskasz dostęp do niego.

Omówienia do projektu testowego: pierwsze, drugie i trzecie.

Wsparcie merytoryczne

Nie masz aktywnego członkostwa. Wykup dostęp albo Zaloguj się, by móc zadawać pytania.

  1. Cześć,
    w nagraniu od 3:30 do 3:41 mówisz, że jedyną weryfikacją jaka możemy, a nawet powinniśmy umieścić w Page Object’ach jest weryfikacja czy jesteśmy na właściwej stronie i że pokażesz to nam później.
    Obejrzałem wszystkie lekcje w tym module (13. Page Object Model) i nie zauważyłem żebyś to gdzieś tłumaczyła.
    Przegapiłem coś, czy jeszcze będzie w kolejnych modułach?

    Odpowiedz