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 83. Plik konfiguracyjny

Dzisiaj popracujemy nad konfiguracją naszych testów – stworzymy sobie plik konfiguracyjny, w którym umieścimy kilka informacji używanych w teście.

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

Polskie znaki w pliku JSON

Nasz plik konfiguracyjny będzie plikiem w formacie JSON. Na filmie zobaczysz w jaki sposób go zczytać.

properties.load(new FileInputStream("src/configs/Configurations.properties"));
Żeby jednak poprawnie zczytywało także polskie znaki z tego pliku, musisz powyższą linijkę zamienić na poniższą.
properties.load(new InputStreamReader(new FileInputStream(fileLocation)));
//albo poniższe, jeżeli rozwiązanie powyżej nie wystarczy
properties.load(new InputStreamReader(new FileInputStream(fileLocation), StandardCharsets.UTF_8));

Plik konfiguracyjny, który utworzymy będzie zawierał informację o tym jaki jest URL do huba, czyli adres URL, który podajemy w parametrze, gdy tworzymy obiekt klasy RemoteWebDriver. Znajdziemy tam też możliwość zmiany podstawowego URLa strony, którą testujemy. To się może przydać w realnych projektach, gdy będziemy chcieli testować aplikację umieszczoną na różnych serwerach, np. w zależności od tego jaki branch testujemy. W ten sposób zamiast szukać wszystkich miejsc w testach, gdzie używamy adresu URL strony, możemy korzystać z wartości pobieranej z jednego miejsca – z konfiguracji.

Na koniec dodamy tam też możliwość podania przeglądarki, na której chcemy odpalić testy. Możesz tam także podać wersję przeglądarki albo inne parametry, które będą później używane np. do uruchomienia testów na odpowiednim nodzie.

Podstawowa zaleta takiego rozwiązania, to możliwość sterowania pewnymi parametrami testów za pomocą jednego pliku konfiguracyjnego. Możemy sobie np. stworzyć kilka gotowych plików reprezentujących różne konfiguracje i podmieniać je w zależności od tego, jak (i gdzie) chcemy testy uruchomić.

Zaktualizowane klasy

Klasa testowa: PaymentsTests

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

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: CheckoutPage

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: 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: 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: 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: DemoFooterPage

(czyli nasza stopka w POM)

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

Klasa Page Object: OrderReceivedPage

Ukryta treść

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

Klasa: DriverFactory

Ukryta treść

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

Enum: Browser

Ukryta treść

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

Configurations.properties

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 budowy Frameworka:

Wsparcie merytoryczne

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