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.