Spis treści:

Kurs z zatrudnieniem: „Profession Java Programista"
Dowiedz się więcejCzego potrzebujesz
Zanim zaczniesz, ważne jest, aby mieć przynajmniej podstawową wiedzę o języku Java i zasadach zarządzania zależnościami. Musisz również zainstalować i skonfigurować środowisko programistyczne IntelliJ IDEA, w którym będziemy tworzyć testy automatyczne. Ten tekst zawiera przydatne zasoby i materiały, które pomogą Ci zrozumieć te zagadnienia i skutecznie rozpocząć tworzenie testów automatycznych.
- Java Core dla początkujących: Plan działania
- IntelliJ IDEA: Czym jest to środowisko programistyczne i jak w nim pracować
- Podstawy Mavena: Czym jest i jak działa
Testy automatyczne można pisać w różnych edytorach, ale zalecamy korzystanie z IntelliJ IDEA Community Edition. To bezpłatne i wygodne środowisko programistyczne jest idealne dla początkujących programistów Java. IntelliJ IDEA ułatwia tworzenie nowych projektów, dodawanie wymaganych zależności i uruchamianie testów bezpośrednio z interfejsu. Wybór tego IDE pozwoli Ci skupić się na rozwoju i poprawie jakości kodu. Praca z biblioteką Selenium wymaga ChromeDriver, sterownika umożliwiającego interakcję z przeglądarką Google Chrome. Bez niego Selenium nie może bezpośrednio sterować przeglądarką. Biblioteka umożliwia emulację działań użytkownika, takich jak kliknięcia i wprowadzanie tekstu, ale do jej prawidłowego działania wymagany jest ChromeDriver. W następnej sekcji przyjrzymy się, jak i skąd pobrać ten sterownik.

Czytanie jest integralną częścią naszego życia i otwiera drzwi do nowej wiedzy i doświadczeń. Dzięki czytaniu możemy poszerzać horyzonty, rozwijać krytyczne myślenie i doskonalić umiejętności komunikacyjne. Zachęcamy do odkrywania różnych gatunków literackich, aby znaleźć to, co Cię najbardziej interesuje. Niezależnie od tego, czy wolisz beletrystykę, artykuły naukowe, czy materiały edukacyjne, czytanie sprzyja rozwojowi osobistemu i samodoskonaleniu. Nie przegap okazji, aby zanurzyć się w świecie książek i zdobyć nowe doświadczenia oraz wiedzę.
12 najlepszych wtyczek IntelliJ, które zwiększą Twoją produktywność
IntelliJ IDEA to potężne środowisko programistyczne oferujące wiele wbudowanych funkcji. Jednak wtyczki mogą znacznie rozszerzyć jego możliwości. W tym artykule przyjrzymy się 12 najprzydatniejszym wtyczkom, które pomogą Ci zoptymalizować proces programowania i zwiększyć jego wydajność.
Pierwszą wtyczką na naszej liście jest wtyczka Lombok. Upraszcza ona pracę z Javą, automatycznie generując gettery, settery i inne metody, co pomaga zmniejszyć ilość kodu.
Kolejną wtyczką jest CheckStyle. Pomaga ona utrzymać standardy kodowania, sprawdzając zgodność kodu z określonymi regułami. Jest to szczególnie istotne w pracy zespołowej, gdzie spójność kodu ma ogromne znaczenie.
Innym ważnym narzędziem jest SonarLint. Ta wtyczka przeprowadza statyczną analizę kodu i pomaga identyfikować potencjalne błędy i luki w zabezpieczeniach w czasie rzeczywistym, co przyczynia się do poprawy jego jakości.
Jeśli pracujesz z wersjami kodu, wtyczka GitToolBox będzie niezastąpiona. Dodaje ona dodatkowe funkcje do pracy z Gitem, w tym wyświetlanie statusu repozytorium oraz możliwość szybkiego dostępu do commitów i gałęzi.
Dla osób preferujących wizualizację warto zwrócić uwagę na wtyczkę Rainbow Brackets. Ułatwia ona nawigację po zagnieżdżonych strukturach kodu poprzez kolorowanie nawiasów.
Wtyczka CodeGlance zapewnia minimapę kodu, która pozwala na szybką nawigację po pliku i usprawnia nawigację. Jest to szczególnie przydatne podczas pracy z dużymi projektami.
Innym przydatnym narzędziem jest Database Navigator. Integruje pracę z bazą danych bezpośrednio z IntelliJ, umożliwiając łatwe uruchamianie zapytań i przeglądanie danych bez konieczności przełączania się między aplikacjami.
Aby ulepszyć działanie interfejsu API REST, zalecamy użycie klienta REST. Ta wtyczka umożliwia wykonywanie zapytań i testowanie interfejsów API bezpośrednio z poziomu IDE, co znacznie przyspiesza proces tworzenia.
Warto również wspomnieć o wtyczce BashSupport, która dodaje obsługę skryptów Bash, co jest przydatne dla programistów pracujących w systemach Unix.
Jeśli zajmujesz się tworzeniem stron internetowych, wtyczka Vue.js obsługuje framework Vue, zapewniając autouzupełnianie i podświetlanie składni.
Wtyczka Markdown Navigator usprawnia pracę z plikami Markdown, umożliwiając wygodną edycję dokumentów tekstowych z uwzględnieniem formatowania.
Na koniec na naszej liście znajduje się wtyczka JRebel, która umożliwia wprowadzanie zmian w kodzie bez ponownego uruchamiania aplikacji, co znacznie przyspiesza proces tworzenia i testowania.
Korzystanie z tych 12 wtyczek pomoże Ci w pełni wykorzystać możliwości IntelliJ IDEA i zwiększyć produktywność Twojego rozwoju.
Przygotowanie środowiska roboczego
W tej sekcji utworzymy projekt w środowisku programistycznym IntelliJ IDEA. Zaczniemy od dołączenia niezbędnych bibliotek i skonfigurowania pliku pom.xml. Następnie pobierzemy ChromeDriver, aby zautomatyzować testowanie przeglądarki. Na koniec utworzymy prosty test, który uruchomi przeglądarkę i otworzy określoną stronę. To zapewni, że środowisko jest poprawnie skonfigurowane i gotowe do automatycznego testowania.
Po zainstalowaniu IntelliJ IDEA uruchom program i w otwartym oknie wybierz Javę jako język programowania oraz Maven jako system kompilacji. Podaj nazwę projektu, na przykład seleniumwd_test, wybierz żądaną wersję JDK i odznacz opcję Dodaj przykładowy kod, aby zacząć od podstaw. Następnie kliknij Utwórz, a IntelliJ IDEA utworzy projekt, nad którym będziemy pracować. Ten proces stanowi ważny punkt wyjścia do prawidłowego skonfigurowania środowiska programistycznego i przygotowania do zbudowania projektu Java przy użyciu Maven.

Po utworzeniu projektu, IntelliJ IDEA automatycznie generuje plik pom.xml. Plik ten służy jako konfiguracja dla Mavena, w której określamy niezbędne biblioteki, wtyczki i opcje kompilacji. Wygenerowany plik zawiera podstawową strukturę, w tym identyfikatory projektu oraz sekcję właściwości zawierającą wersję JDK i kodowanie. Wartości te można pozostawić bez zmian, ponieważ są one odpowiednie dla bieżącego zadania. Konfiguracja pliku pom.xml to ważny krok, który umożliwi efektywne zarządzanie zależnościami i konfiguracją projektu.


Przeczytaj także:
Format XML, czyli Extensible Markup Language, to język znaczników przeznaczony do przechowywania i przesyłania danych. Zapewnia wygodną i ustrukturyzowaną reprezentację informacji, co czyni go uniwersalnym narzędziem dla różnych aplikacji. XML jest wykorzystywany w technologiach internetowych do wymiany danych między różnymi systemami i platformami.
Jednym z głównych zastosowań XML jest praca z usługami sieciowymi, gdzie służy jako format przesyłania żądań i odpowiedzi. XML jest również szeroko stosowany w plikach konfiguracyjnych oprogramowania, a także w dokumentach wymagających przejrzystej struktury, takich jak książki, artykuły i raporty.
Co więcej, XML znajduje zastosowanie w takich obszarach jak zarządzanie danymi, handel elektroniczny i tworzenie aplikacji interaktywnych. Ze względu na swoją elastyczność i rozszerzalność, XML pozwala programistom tworzyć własne tagi i struktury danych, co czyni go idealnym wyborem dla różnych projektów.
Dlatego format XML jest ważnym narzędziem we współczesnym świecie technologii informatycznych, zapewniającym wydajną wymianę danych i ustrukturyzowaną prezentację informacji.
Do pliku pom.xml należy dodać sekcję zależności, która określi biblioteki wymagane do tworzenia i uruchamiania testów automatycznych. Maven automatycznie pobierze wymagane pliki z centralnego repozytorium po aktualizacji projektu. W tej sekcji użyjemy Selenium WebDriver do sterowania przeglądarką, TestNG do wykonywania testów i grupowania ich w scenariusze oraz Allure TestNG do generowania raportów z wynikami testów.
Aby poprawnie zintegrować sekcję zależności, należy umieścić ją po bloku właściwości, ale przed znacznikiem zamykającym. Upewnij się, że fragment kodu, który zamierzasz wstawić, jest poprawny i pasuje do ogólnej struktury dokumentu. Zapewni to poprawne działanie i interakcję wszystkich elementów.
Po dodaniu zależności do pliku pom.xml należy ręcznie odświeżyć projekt Maven, aby IntelliJ IDEA pobrał wszystkie wymagane biblioteki. W tym celu zapisz zmiany w pliku, naciskając Ctrl + S, a następnie otwórz panel Maven, klikając ikonę z literą m w menu po prawej stronie. Następnie kliknij przycisk ze strzałką, aby wykonać polecenie „Przeładuj wszystkie projekty Maven”. Zapewni to poprawną aktualizację zależności i uruchomienie projektu z aktualnymi bibliotekami.
Po wykonaniu tej czynności na dole okna pojawi się wskaźnik ładowania, informujący o rozpoczęciu automatycznej aktualizacji zależności. Po zakończeniu procesu czerwone podkreślenia w pliku znikną, a po lewej stronie projektu pojawi się sekcja „Biblioteki zewnętrzne”. W tej sekcji możesz przeglądać dołączone biblioteki, takie jak selenium-java, testng, allure-testng i inne. Pozwoli Ci to efektywnie zarządzać zależnościami i upewnić się, że biblioteki używane w projekcie są aktualne.

Sekcję kompilacji należy dodać do pliku pom.xml. Ta sekcja została zaprojektowana z myślą o wtyczkach Maven, które uruchamiają testy i generują raporty. Prawidłowa konfiguracja sekcji kompilacji w pliku pom.xml pozwala zautomatyzować procesy testowania i raportowania, co przyczynia się do efektywniejszego zarządzania projektem i poprawy jakości oprogramowania.
Skupimy się na dwóch wtyczkach, które są szczególnie cenne dla użytkowników. Narzędzia te pomogą poprawić funkcjonalność witryny, zwiększyć jej wydajność i zoptymalizować interakcję z odwiedzającymi. Przyjrzyjmy się bliżej funkcjom i zaletom każdej wtyczki, abyś mógł wybrać tę, która najlepiej odpowiada Twoim potrzebom.
- maven-surefire-plugin — odpowiada za uruchamianie testów automatycznych;
- allure-maven — generuje raporty z wynikami testów.
Sekcja kompilacji powinna znajdować się bezpośrednio za blokiem zależności, ale przed znacznikiem zamykającym. Pozwoli to na prawidłową organizację struktury projektu i zapewni poprawność kompilacji. Upewnij się, że postępujesz zgodnie z tą sekwencją, aby uniknąć błędów podczas tworzenia.
Po wprowadzeniu zmian nie zapomnij zapisać pliku, naciskając Ctrl + S. Następnie w panelu Maven kliknij przycisk „Przeładuj wszystkie projekty Maven”, aby zaktualizować niezbędne wtyczki. Pomoże to uniknąć problemów z zależnościami i zapewni prawidłowe działanie projektu.

Jeśli po zainstalowaniu wtyczek wystąpią błędy w IntelliJ IDEA, przed kontynuacją konieczne będzie wprowadzenie zmian w kodzie.
Jeśli wystąpi błąd, ważne jest, aby zachować spokój i wykonać kilka kroków, aby go rozwiązać. Najpierw sprawdź, czy dane zostały wprowadzone poprawnie. Błędy często wynikają z literówek lub nieprawidłowego formatowania. Jeśli dane są poprawne, spróbuj odświeżyć stronę lub aplikację. Może to pomóc w rozwiązaniu tymczasowych usterek.
Jeśli błąd nadal występuje, zapoznaj się z dokumentacją lub materiałami pomocy. Mogą one zawierać informacje o typowych błędach i sposobach ich rozwiązania. Warto również sprawdzić dostępność aktualizacji oprogramowania, ponieważ przestarzałe wersje mogą powodować problemy.
Jeśli żadna z tych metod nie pomoże, rozważ kontakt z pomocą techniczną. Szczegółowo opisz swój problem, w tym kroki, które już podjąłeś, aby mogli Ci szybciej pomóc. Pamiętaj, że błędy są normalną częścią pracy z technologią i większość z nich można rozwiązać, stosując systematyczne podejście.
Po zintegrowaniu wtyczki maven-surefire-plugin może wystąpić błąd. Problem ten jest często związany z konfiguracją wtyczki lub niezgodnością z innymi komponentami projektu. Aby rozwiązać ten problem, sprawdź ustawienia pom.xml i upewnij się, że wszystkie zależności są poprawnie określone. Zaleca się również aktualizację wtyczki do najnowszej stabilnej wersji, ponieważ może to rozwiązać problemy ze zgodnością. Jeśli błąd nadal występuje, zapoznaj się z dokumentacją wtyczki lub społecznością programistów, aby uzyskać dalszą pomoc.
Nie znaleziono zależności „org.aspectj:aspectjweaver:1.9.20.1”. Sprawdź, czy wersja i repozytoria w projekcie są poprawnie określone. Ta wersja mogła zostać usunięta lub przeniesiona. Zaleca się aktualizację konfiguracji zależności, określając bieżącą wersję lub alternatywne repozytoria, w których znajduje się wymagana biblioteka. Upewnij się, że używasz odpowiednich narzędzi do kompilacji i że środowisko programistyczne jest skonfigurowane do obsługi wymaganych zależności.
Określiłeś konkretną wersję biblioteki aspectjweaver, ale Maven nie może jej wykryć. Może się tak zdarzyć, jeśli wersja została wprowadzona ręcznie lub nie jest jeszcze dostępna w repozytorium. Podobne komunikaty o błędach mogą pojawić się w edytorze, wskazując na problem z zależnościami. Aby rozwiązać ten problem, sprawdź, czy określono poprawną wersję i czy biblioteka jest dostępna w repozytoriach. Upewnij się, że używasz aktualnych zależności i w razie potrzeby zaktualizuj ustawienia Mavena.

Aby naprawić W przypadku błędu należy wprowadzić zmiany w pliku pom.xml, dodając zmienną z wersją biblioteki AspectJ. Należy to zrobić w sekcji właściwości. Określenie prawidłowej wersji biblioteki zapewni prawidłowe działanie aplikacji i pozwoli uniknąć potencjalnych problemów ze zgodnością. Nie zapomnij zapisać zmian i zaktualizować zależności projektu, aby zastosować nowe ustawienia.
Obecnie używana jest wersja 1.9.22, ale może ona zostać zaktualizowana w przyszłości. Najnowszą stabilną wersję można znaleźć na stronie mvnrepository.com.
Jeśli wersja została zaktualizowana, wystarczy odpowiednio zaktualizować ten wiersz.
Wewnątrz wtyczki maven-surefire-plugin zastąp statycznie określoną wersję biblioteki aspectjweaver zmienną. Spowoduje to automatyczne zastąpienie najnowszej wersji podczas korzystania z Mavena i pomoże uniknąć błędów podczas kompilacji projektu. Takie podejście usprawnia zarządzanie zależnościami i zwiększa stabilność kompilacji.
W konfiguracji wtyczki znajdź wiersz z parametrem -javaagent, który zazwyczaj znajduje się w bloku konfiguracji. Usuń ten wiersz, ponieważ biblioteka jest teraz dołączana bezpośrednio przez Maven, co upraszcza proces integracji i zarządzania zależnościami.
Zapisz plik za pomocą kombinacji klawiszy Ctrl + S, a następnie kliknij przycisk „Przeładuj wszystkie projekty Maven” w panelu Maven. Jeśli problem zostanie rozwiązany, IntelliJ IDEA wyświetli zielony znacznik wyboru, wskazujący, że projekt jest poprawnie skonfigurowany.
Aby uprościć proces i uniknąć ręcznego wykonywania wszystkich kroków, po prostu usuń stary kod i zastąp go nowym. To znacznie przyspieszy pracę i zminimalizuje ryzyko wystąpienia błędów. Aktualizacja kodu poprawi wydajność i funkcjonalność projektu.
Jeśli kod nie działa, upewnij się, że wersja biblioteki aspectjweaver określona w wierszu aspectj.version jest aktualna. Dostępna może być nowsza, stabilna wersja, która rozwiąże problem. Regularne aktualizowanie bibliotek pomoże uniknąć błędów i poprawić wydajność projektu.
Jeśli wystąpią problemy z Maven w IntelliJ IDEA, spróbuj ponownie zapisać plik, a następnie kliknij przycisk „Przeładuj wszystkie projekty Maven” w panelu Maven. Jeśli to nie rozwiąże problemu, uruchom ponownie IntelliJ IDEA i powtórz wszystkie kroki. Możliwe, że w jednym z kroków wystąpiła literówka, która powoduje błąd.
W fazie przygotowawczej wspomnieliśmy, że Selenium nie może bezpośrednio kontrolować przeglądarki. To zadanie wymaga ChromeDriver, specjalnego komponentu, który pośredniczy między Selenium a przeglądarką. Aby pobrać ChromeDriver, odwiedź stronę googlechromelabs.github.io. Znajdziesz tam stabilną wersję sterownika, która pasuje do wersji Twojej przeglądarki i systemu operacyjnego. Upewnij się, że pobierasz odpowiednią wersję, aby zapewnić optymalną wydajność testów i automatyzacji.

Po pobraniu archiwum rozpakuj je i przenieś plik chromedriver.exe w dogodne miejsce. Zalecamy utworzenie folderu na dysku C, na przykład „tools”, tak aby pełna ścieżka do pliku wyglądała następująco: C:\tools\chromedriver. Ułatwi to dostęp do sterownika w celu zautomatyzowania przeglądarki Chrome.
Możesz użyć podanej ścieżki lub wybrać dowolną inną, pod warunkiem, że jest poprawna. W przyszłości będziemy wprowadzać go ręcznie w kodzie.

Wszystko gotowe. Kroki przygotowawcze zostały ukończone i teraz musimy przetestować funkcjonalność projektu. Upewnijmy się, że biblioteki są poprawnie połączone, sterownik jest zainstalowany, a testy są gotowe do uruchomienia. Aby to zrobić, utwórz plik Java o nazwie Main.java i dodaj do niego następujący kod:
Jeśli konfiguracja jest poprawna, kliknięcie zielonego przycisku Uruchom u góry okna IntelliJ IDEA automatycznie otworzy przeglądarkę i natychmiast ją zamknie. Jeśli kod nie działa, sprawdź poniższe:
- czy ścieżka do chromedriver.exe jest określona poprawnie;
- czy wersja ChromeDriver jest zgodna z wersją Twojej przeglądarki;
- czy masz zainstalowaną przeglądarkę Google Chrome lub inną;
- czy program nie jest blokowany przez program antywirusowy lub system bezpieczeństwa.

Pisanie testów automatycznych
W tej sekcji przedstawiono dwa scenariusze testowe dla witryny saucedemo.com. Pierwszy scenariusz ma na celu sprawdzenie funkcjonalności strony logowania, a drugi skupi się na testowaniu koszyka zakupowego. Te testy pomogą zapewnić prawidłowe funkcjonowanie witryny i poprawić komfort użytkowania.
Aby ułatwić rozbudowę i ponowne wykorzystanie kodu, zastosujemy architekturę wzorca Page Object, dzieląc projekt na oddzielne klasy. Każda klasa będzie odpowiedzialna za konkretną stronę lub komponent, co poprawi czytelność i łatwość konserwacji kodu. Opracujemy klasę bazową do interakcji z przeglądarką, opiszemy działania wykonywane na stronach, dodamy ustawienia pomocnicze i zaimplementujemy testy. Takie podejście zapewni elastyczność i skalowalność środowiska testowego, umożliwiając łatwe modyfikacje i dodawanie nowych funkcjonalności w razie potrzeby.

Przeczytaj również:
Podstawowe wzorce projektowe w Javie
Wzorce projektowe to sprawdzone rozwiązania typowych problemów pojawiających się podczas tworzenia oprogramowania. Język Java wyróżnia kilka kluczowych wzorców, które pomagają programistom tworzyć elastyczne i łatwe w utrzymaniu aplikacje.
Wzorce projektowe zazwyczaj dzieli się na trzy główne kategorie: kreacyjne, strukturalne i behawioralne. Wzorce kreacyjne, takie jak Singleton, Metoda Fabrykująca i Fabryka Abstrakcyjna, odpowiadają za tworzenie obiektów, umożliwiając zarządzanie procesem ich tworzenia. Wzorce strukturalne, takie jak Adapter, Kompozyt i Proxy, pomagają organizować klasy i obiekty, zapewniając wygodną interakcję między nimi. Wzorce behawioralne, takie jak Obserwator, Strategia i Polecenie, definiują sposób interakcji obiektów i wymiany informacji.
Korzystanie ze wzorców projektowych w Javie nie tylko upraszcza programowanie, ale także poprawia czytelność i łatwość utrzymania kodu. Znajomość podstawowych wzorców pozwala programistom skutecznie rozwiązywać problemy, unikając wyważania otwartych drzwi. Prawidłowo zastosowane wzorce projektowe mogą znacznie przyspieszyć proces tworzenia i poprawić jakość produktu programistycznego.
Najpierw należy utworzyć klasę pomocniczą BasicActions, która uruchomi przeglądarkę z określonymi parametrami. Ta klasa pozwoli Ci określić ścieżkę do ChromeDriver, aktywować tryb incognito, zmaksymalizować okno przeglądarki i ustawić niejawny czas oczekiwania. Dzięki Selenium przeglądarka będzie czekać na pojawienie się elementów na stronie przez określony czas (na przykład do 5 sekund), zanim zgłosi błąd. Dzięki temu automatyzacja będzie bardziej niezawodna i wydajna.
Aby utworzyć klasę, otwórz folder src → main → java w panelu projektu. Kliknij prawym przyciskiem myszy folder java i wybierz Nowy → Pakiet, a następnie nadaj mu nazwę basic. Następnie kliknij prawym przyciskiem myszy pakiet basic, wybierz Nowy → Klasa Java i nadaj mu nazwę BasicActions. Wklej następujący kod:
Aby uruchomić przeglądarkę, wystarczy teraz użyć tylko jednej metody. To proste podejście znacznie upraszcza proces i przyspiesza wykonywanie zadań. Dzięki tej metodzie możesz szybko otworzyć przeglądarkę i rozpocząć interakcję ze stronami internetowymi, co czyni ją wygodnym narzędziem do automatyzacji i testowania.
Utwórzmy dwie klasy pomocnicze: Config i Constant. Klasy te będą używane do przechowywania ustawień i zmiennych wymaganych do uruchomienia każdego testu. Klasa Config będzie zawierać parametry konfiguracyjne, a klasa Constant – stałe wartości, które mogą być potrzebne w testach. Takie podejście zapewni wygodny dostęp do danych i uprości proces modyfikowania i skalowania testów, co zwiększy ich wydajność i łatwość obsługi.
Klasa Config jest tworzona w pakiecie podstawowym. Odpowiada za zarządzanie podstawowymi parametrami uruchamiania. Umożliwia wybór systemu operacyjnego i przeglądarki, czyszczenie plików cookie i pamięci lokalnej oraz zamykanie przeglądarki po zakończeniu testów. Ta klasa upraszcza konfigurację środowiska testowego i zapewnia efektywne zarządzanie parametrami, co przyczynia się do płynniejszego procesu testowania.
Klasa Constant została zaprojektowana do przechowywania adresów URL i wartości limitu czasu, które określają czas oczekiwania na pojawienie się elementów na stronie podczas korzystania z Selenium. Tę klasę należy umieścić w pakiecie stałych, który znajduje się w następującej ścieżce: src → main → java. Optymalizacja oczekiwania elementu pomaga poprawić stabilność testów automatycznych i zapewnia wydajniejsze działanie aplikacji internetowej.
Jeśli IntelliJ IDEA nie utworzy automatycznie pakietu, należy go utworzyć ręcznie. Aby to zrobić, otwórz folder src → main → java, kliknij prawym przyciskiem myszy folder java, wybierz Nowy → Pakiet i nadaj mu nazwę constants. Następnie utwórz nową klasę Stała w tym pakiecie i wklej do niej niezbędny kod.
Aby utworzyć uniwersalną klasę nadrzędną dla wszystkich stron witryny, opracujemy klasę BasePage. Ta klasa będzie zawierać typowe metody, które można wykorzystać w dowolnym teście. Metody te mogą obejmować na przykład funkcję śledzenia linku i metodę oczekiwania na pojawienie się elementu na stronie. W ten sposób BasePage stanie się podstawą dla wszystkich stron, zapewniając jednolitość i łatwość pisania testów.
Utwórz klasę w pakiecie pages.base znajdującym się w src/main/java.
Na tym etapie rozwoju tworzymy klasy, które będą zarządzać różnymi stronami witryny. Jest to podstawa wzorca Page Object. W ramach tego procesu wdrażamy kluczowe funkcje, które umożliwiają interakcję z elementami strony oraz upraszczają testowanie i konserwację kodu. W ten sposób tworzymy strukturę, która pozwoli Ci efektywnie zorganizować pracę z interfejsem witryny, poprawiając jej testowalność i łatwość konserwacji.
- SaucedemoLoginPage – do wprowadzania loginu i hasła;
- SaucedemoShowcasePage – do dodawania produktów do koszyka;
- CartPage – do sprawdzania ilości w koszyku.
Opracujemy bazową klasę BaseTest, która będzie odpowiedzialna za uruchomienie przeglądarki, tworzenie stron i dokończenie pracy po zakończeniu testów. Ta klasa zapewni efektywne zarządzanie cyklem życia testów i uprości proces automatyzacji testowania aplikacji internetowych.
Aby utworzyć klasę SaucedemoLoginPage, otwórz panel projektu i przejdź do folderu src → main → java. Kliknij prawym przyciskiem myszy folder java, wybierz Nowy → Pakiet i wpisz pages.saucedemo. IntelliJ IDEA automatycznie utworzy wszystkie niezbędne podkatalogi. Następnie kliknij prawym przyciskiem myszy pakiet pages.saucedemo, wybierz Nowy → Klasa Java i nadaj mu nazwę SaucedemoLoginPage. Następnie dodaj odpowiedni kod, aby zaimplementować funkcjonalność strony logowania.
Aby utworzyć nową klasę w IntelliJ IDEA, kliknij prawym przyciskiem myszy folder java, wybierz Nowy → Pakiet i nadaj mu nazwę pages.showcase. Umożliwi to utworzenie niezbędnej struktury pakietu. Następnie kliknij prawym przyciskiem myszy pakiet pages.showcase, wybierz Nowy → Klasa Java i nadaj mu nazwę SaucedemoShowcasePage. Następnie wklej odpowiedni kod do utworzonej klasy.
Otwórz folder src → main → java. Kliknij prawym przyciskiem myszy folder java i wybierz Nowy → Pakiet. Wpisz nazwę pakietu pages.cart. Następnie kliknij utworzony pakiet pages.cart, a następnie wybierz Nowy → Klasa Java i podaj nazwę klasy CartPage. Następnie dodaj niezbędny kod do utworzonej klasy.
Aby zakończyć konfigurację projektu, musisz utworzyć kod dla klasy bazowej, która będzie znajdować się nie w katalogu głównym, ale w folderze test. W panelu projektu przejdź do folderu src, a następnie otwórz folder test i wybierz java. Kliknij folder java, wybierz Nowy, a następnie Pakiet i wpisz nazwę tests.base. Następnie kliknij utworzony pakiet tests.base, wybierz Nowy, a następnie Klasa Java i podaj nazwę klasy BaseTest.
Na tym etapie ważne jest, aby zwrócić uwagę na strukturę projektu, która powinna zostać utworzona. Struktura ta posłuży jako podstawa do dalszego rozwoju i organizacji wszystkich komponentów. Prawidłowa struktura projektu pomoże zoptymalizować przepływy pracy, uprościć nawigację i uczynić kod bardziej zrozumiałym dla zespołu programistów. Upewnij się, że wszystkie elementy znajdują się w logicznych miejscach, co zapewni łatwość użytkowania i konserwacji projektu w przyszłości.

Utwórzmy dwie klasy do testowania funkcjonalności sklepu internetowego. Pierwsza klasa, LoggingTest, będzie odpowiedzialna za testowanie procesu autoryzacji użytkownika. Druga klasa, PriceSumTest, obliczy całkowitą cenę artykułów w koszyku. Klasy te pomogą zapewnić niezawodność i poprawność aplikacji, umożliwiając identyfikację potencjalnych błędów i poprawę komfortu użytkowania.
- LoggingTest sprawdza, czy użytkownik loguje się pomyślnie;
- PriceSumTest sprawdza, czy całkowita cena wybranych artykułów w koszyku jest poprawnie obliczona.
Obie klasy wykorzystają istniejącą infrastrukturę projektu, w tym uruchamianie przeglądarki, otwieranie stron i dostęp do elementów za pomocą podejścia Page Object. Wszystkie te funkcje zostały już zaimplementowane i musimy jedynie opisać scenariusze testowe. Pozwoli Ci to efektywnie wykorzystać już opracowane komponenty i skupić się na tworzeniu wysokiej jakości testów.
Aby utworzyć klasę LoggingTest, otwórz folder src → test → java. Kliknij prawym przyciskiem myszy folder java, wybierz Nowy → Pakiet i wpisz nazwę tests.loggingtest. Następnie kliknij utworzony pakiet tests.loggingtest, wybierz Nowy → Klasa Java, wpisz nazwę klasy LoggingTest i dodaj niezbędny kod. Ten proces pozwoli Ci zorganizować testy rejestrowania w projekcie, zapewniając strukturę i łatwość użycia kodu.
Teraz utwórzmy drugi test — PriceSumTest. Przejdź do folderu src → test → java, utwórz pakiet tests.pricesumtest, a w nim klasę Java PriceSumTest. Ten test będzie miał na celu weryfikację funkcjonalności związanej z sumowaniem cen, co jest ważnym aspektem w rozwoju oprogramowania do przetwarzania danych finansowych. W klasie PriceSumTest zaimplementujemy scenariusze testowe, które pomogą zapewnić poprawność obliczeń i obsługę ewentualnych błędów.
Po zakończeniu tego kroku zalecamy ponowne sprawdzenie struktury projektu. Ten krok jest ważny dla zapewnienia spójności i integralności wszystkich elementów. Uzgodnienie struktury pomoże zidentyfikować potencjalne wady i zoptymalizować dalsze działania. Regularne przeglądanie struktury projektu pomaga poprawić jakość i efektywność pracy, a także ułatwia proces osiągania celów.

Aby uruchomić testy automatyczne za pomocą Mavena, należy utworzyć plik konfiguracyjny XML o nazwie testng.xml. W tym pliku zdefiniujemy, które klasy testowe będą uruchamiane i jak powinny być grupowane. Upewnij się, że plik znajduje się w folderze src/test/resources. Prawidłowa konfiguracja pliku testng.xml pozwala na efektywną organizację i zarządzanie procesem testowania, co z kolei przekłada się na poprawę jakości oprogramowania.
Jeśli w projekcie IntelliJ IDEA brakuje folderu zasobów, wykonaj następujące kroki: kliknij prawym przyciskiem myszy folder test → java, wybierz Nowy → Katalog i wpisz nazwę resources. Następnie kliknij prawym przyciskiem myszy utworzony folder, wybierz Nowy → Plik i wpisz nazwę pliku: testng.xml. Te kroki pomogą Ci prawidłowo zorganizować strukturę projektu i przygotować go do testowania za pomocą TestNG.
Projekt został pomyślnie ukończony i jest gotowy do uruchomienia testów automatycznych.
- Mamy strukturę projektu zbudowaną przy użyciu szablonu Page Object;
- Strony i przypadki testowe zostały zaimplementowane;
- Plik testng.xml jest skonfigurowany do uruchamiania przez Maven.
W następnej sekcji przetestujemy i zintegrujemy bibliotekę Allure. Dostarczy ona informacji o tym, które testy zakończyły się pomyślnie, które nie, oraz o krokach, w których wystąpiły błędy. Pozwoli nam to na skuteczniejszą analizę wyników testów i poprawę jakości naszego oprogramowania.

Uruchamianie testów i przeglądanie raportów
Uruchomimy testy automatyczne dwiema metodami: najpierw za pomocą IntelliJ IDEA, a następnie za pomocą Maven i Allure. Zaczniemy od uruchomienia testów za pomocą IntelliJ IDEA. Takie podejście pozwala szybko i łatwo sprawdzić funkcjonalność kodu bezpośrednio w środowisku programistycznym.
Otwórz plik testng.xml. U góry okna pojawi się zielona strzałka. Kliknij ją, a IntelliJ IDEA uruchomi oba testy: sprawdzenie autoryzacji i test koszyka. Jeśli konfiguracja jest poprawna, u dołu ekranu pojawi się komunikat „Testy zaliczone: 2 z 2”, a przeglądarka otworzy się, aby wykonać niezbędne czynności. Jeśli jeden z testów się nie powiedzie, zobaczysz komunikat „Testy nie zaliczone” ze szczegółowymi informacjami o błędzie. Upewnij się, że wszystkie zależności i konfiguracje są ustawione poprawnie, aby testy mogły zostać pomyślnie uruchomione.

Jeśli zielona strzałka u góry okna nie jest widoczna, może to oznaczać, że wtyczka TestNG nie jest zainstalowana. Aby to sprawdzić, otwórz ustawienia IntelliJ IDEA: wybierz Plik → Ustawienia z menu, a następnie przejdź do zakładki Wtyczki i wpisz „TestNG” w pasku wyszukiwania. Zainstaluj wtyczkę, a następnie uruchom ponownie edytor. Upewnij się, że po wykonaniu tych kroków pojawi się zielona strzałka, co pozwoli Ci efektywnie wykorzystać możliwości TestNG do testowania kodu.
Jeśli wtyczka jest zainstalowana, ale strzałka nie jest widoczna, kliknij prawym przyciskiem myszy plik testng.xml i wybierz opcję „Uruchom testng.xml”. Następnie testy zostaną uruchomione w trybie standardowym. Upewnij się, że wtyczka jest poprawnie skonfigurowana, aby uniknąć podobnych problemów w przyszłości.

Jeśli oba testy zakończą się sukcesem, na ekranie pojawi się komunikat „Testy zaliczone: 2 z 2”, a po lewej stronie testów automatycznych pojawią się zielone znaczniki wyboru. W konsoli zostanie również wyświetlony szczegółowy dziennik wykonania. Przeglądarka automatycznie otworzy się i wykona wszystkie czynności opisane w scenariuszach: logowanie do witryny, dodawanie produktów i przejście do koszyka. Pozwala to upewnić się, że funkcjonalność działa poprawnie, a aplikacja jest stabilna.


Testy automatyczne zostały pomyślnie uruchomione w IntelliJ IDEA. Teraz przejdziemy do uruchamiania testów za pomocą Mavena i utworzymy raport z wykorzystaniem biblioteki Allure. Zapewni to wizualne wyniki testów i uprości analizę ich wykonania.
Sprawdźmy, czy Maven jest zainstalowany. Aby to zrobić, otwórz terminal w środowisku programistycznym IntelliJ IDEA i uruchom następujące polecenie:
Jeśli w konsoli zostaną wyświetlone informacje o wersji Mavena, konfiguracja jest poprawna i możesz rozpocząć uruchamianie testów automatycznych. W przeciwnym razie musisz pobrać najnowszą wersję Mavena i zainstalować ją w systemie operacyjnym. Po zakończeniu instalacji zaleca się ponowne uruchomienie IntelliJ IDEA i terminala, aby system rozpoznał nową zmienną środowiskową i aktywował Mavena. Upewnij się, że wykonasz wszystkie kroki, aby uniknąć błędów podczas uruchamiania testów automatycznych.
Po zainstalowaniu Mavena uruchom następujące polecenie w terminalu:
Uruchomienie pojedynczego testu ułatwia naukę, ponieważ polecenie nie opiera się na pliku testng.xml. Jest to szczególnie przydatne w sytuacjach, gdy istnieje ryzyko utraty pamięci podręcznej IDE. Po wykonaniu testu w konsoli wyświetli się komunikat o powodzeniu lub opis błędu, który wystąpił. Dzięki temu można szybko przeanalizować wyniki testu i rozwiązać problemy.

Aby uruchomić wszystkie testy jednocześnie, użyj alternatywnego polecenia.
W tej sytuacji Maven najpierw wyczyści folder docelowy, który zawiera skompilowane klasy i stare raporty, a następnie uruchomi wszystkie testy określone w pliku testng.xml. To polecenie nie zadziała jednak w naszym przykładowym projekcie, ponieważ wymaga dodatkowej konfiguracji pliku pom.xml. Aby uniknąć komplikacji, pominiemy ten krok i będziemy kontynuować ręczne uruchamianie testów.
Jeśli testy automatyczne zakończą się pomyślnie i bez błędów, wprowadź następujące polecenie w terminalu:
Jeśli terminal wyświetli numer wersji, oznacza to, że biblioteka Allure została pomyślnie zainstalowana i jest gotowa do użycia. Możesz teraz ponownie uruchomić test.
Jeśli terminal nie wyświetli wersji Allure, oznacza to, że biblioteka nie istnieje w systemie. W takim przypadku należy zainstalować Allure w podobny sposób, jak zainstalowano Mavena, postępując zgodnie z instrukcjami odpowiednimi dla systemu operacyjnego. Upewnij się, że skonfigurowano zmienne środowiskowe i ścieżki, aby zapewnić prawidłowe działanie Allure po instalacji.
Po zainstalowaniu i skonfigurowaniu będziesz mógł automatycznie generować szczegółowe raporty po każdym uruchomieniu testów automatycznych. Raporty te zawierają ogólne informacje o stanie wykonania testów, a także wykresy, tabele, kategorie i inne ważne informacje, które pomogą Ci skutecznie analizować wyniki testów i optymalizować procesy rozwoju.

Co dalej
Gratulacje z okazji pomyślnego ukończenia! Masz teraz podstawową wiedzę na temat procesu automatyzacji przeglądarki i wiesz, jak tworzyć testy za pomocą szablonu Page Object. Opracowałeś również podstawowe ramy automatycznego testowania o przejrzystej strukturze z możliwością dalszej rozbudowy. Pozwoli Ci to efektywnie organizować testy i zapewnić łatwość ich utrzymania, co jest niezbędne do wysokiej jakości testowania aplikacji internetowych.
Teraz przyjrzyjmy się wdrożeniu kilku dodatkowych scenariuszy. Pomoże to pogłębić Twoje zrozumienie i rozszerzyć funkcjonalność projektu. Scenariusze mogą obejmować różne aspekty, takie jak obsługa błędów, integracja z zewnętrznymi interfejsami API czy tworzenie interfejsów użytkownika. Każdy z tych obszarów nie tylko poprawi komfort użytkowania, ale także zwiększy ogólną wydajność systemu. Ważne jest, aby przetestować każdy scenariusz pod kątem wydajności i użyteczności, aby zapewnić płynne działanie projektu i pozytywne doświadczenia użytkownika końcowego.
- Upewnij się, że przycisk logowania jest ponownie dostępny po wylogowaniu;
- Dodaj 3-4 różne produkty do koszyka i sprawdź, czy są one faktycznie wyświetlane;
- Usuń jeden produkt z koszyka i sprawdź, czy zniknie z listy;
- Wprowadź nieprawidłowe hasło podczas logowania i sprawdź, czy pojawi się komunikat o błędzie.
Możesz wykonać wszystkie te testy, aktualizując bieżące strony nowymi metodami lub tworząc osobne klasy testowe. Poprawi to funkcjonalność i wydajność Twojej witryny, a także zwiększy jej widoczność w wyszukiwarkach. Aktualizacja treści i wdrażanie nowych testów przyczynia się do głębszej analizy i optymalizacji, co z kolei pozytywnie wpłynie na doświadczenia użytkownika i pozycje w wynikach wyszukiwania.
Aby podnieść poziom testowania w Javie, zalecamy zapoznanie się z biblioteką JUnit, która jest jedną z najpopularniejszych w tym obszarze. Jeśli chcesz nauczyć się kolejnego języka programowania, sprawdź nasz przewodnik po testach próbnych w Pythonie, w którym znajdziesz wiele przydatnych zasobów i przykładów.

