Pierwszy test automatyczny – pobranie strony i wypisanie jej tytułu na ekranie
Z tego wpisu dowiesz się, jak uruchomić przeglądarkę internetową i otworzyć wybraną stronę. Przed przystąpieniem do tego procesu należy pobrać bibliotekę Selenium WebDriver oraz odpowiedni driver, który umożliwi komunikację pomiędzy kodem testu, a przeglądarką. Oczywiście musimy upewnić się, że mamy również zainstalowaną przeglądarkę internetową na Naszym komputerze.
Czym jest Selenium?
Selenium jest zbiorem narzędzi do automatyzacji zachowania użytkownika w przeglądarce internetowej. W skład tych narzędzi wchodzi między innymi Selenium WebDriver czyli biblioteka, która pozwala pisać kod w wybranym języku programowania, który po uruchomieniu jest w stanie stworzyć nowe okno przeglądarki i następnie wykonywać w nim zadane w kodzie akcje np. klikać na elementy, wpisywać wartości w pola tekstowe itd. Jest to obecnie najpopularniejsza biblioteka do tworzenia testów automatycznych na poziomie UI i posiadająca największą społeczność.
Dodanie Selenium do projektu
Przed przystąpieniem do pisania kodu musimy najpierw pobrać bibliotekę Selenium WebDriver i dodać ją do Naszego projektu. Jeżeli tego nie zrobimy wszystkie nazwy klas charakterystyczne dla tej biblioteki nie zostaną rozpoznane i będą się świecić na czerwono. W celu pobrania biblioteki należy kliknąć na bezpośredni link do pobrania:
https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.1.0/selenium-java-4.1.0.zip Następnie wypakowujemy zawartość archiwum
i dodajemy go do projektu. Żeby dodać Selenium do projektu musimy uruchomić wcześniej stworzony projekt w Intellj. Później przechodzimy do zakładki: File/Plik -> Project Settings/Ustawienia Projektu i w sekcji Modules wybieramy zakładkę Dependencies. Klikamy na znaczek + a następnie Files/Directories i odnajdujemy lokalizację wypakowanego archiwum. Klikamy na folder, wybieramy Ok i ponownie akceptujemy wybierając opcję Apply i Ok. Po wykonaniu tych akcji Selenium powinno zostać dodane do projektu.
Czym jest driver?
Driver jest pewnego rodzaju łącznikiem między kodem w wybranym języku programowania, a przeglądarką internetową. Dzięki niemu nasz kod będzie się przekładał na konkretne akcje wykonane w przeglądarce internetowej. Każda przeglądarka posiada dedykowany driver, dlatego musimy zdecydować z jakiej przeglądarki będziemy korzystać. Jeżeli chcemy uruchamiać nasze testy na różnych przeglądarkach to musimy posiadać kilka driverów na swoim komputerze.
Pobranie chromedrivera
W naszym teście będziemy korzystali z przeglądarki Chrome i dlatego potrzebujemy drivera dla tej przeglądarki. Przed pobraniem drivera musimy upewnić się czy mamy zainstalowaną przeglądarkę Chrome na naszym komputerze i w jakiej jest ona wersji. Gdy zweryfikujesz już wersję swojej przeglądarki Chrome to możesz przejść na stronę z której można pobrać chromedrivera wybierając odpowiednią wersję kompatybilną z wersją Twojej przeglądarki. (https://chromedriver.chromium.org/downloads)
Zmienna środowiskowa
i inicjalizacja przeglądarki
Po pobraniu chromedrivera możemy przejść do kodu i próby uruchomienia przeglądarki. W celu uruchomienia kawałka kodu możemy skorzystać z metody oznaczonej adnotacją Test z biblioteki TestNG. Jeżeli nie pamiętasz jak to wyglądało to wróć do poprzedniego emaila. Wewnątrz metody musimy zrobić dwie rzeczy. Pierwsza to wskazanie gdzie znajduje się plik chromedriver.exe, a druga to stworzenie obiektu klasy ChromeDriver, który automatycznie uruchomi nam przeglądarkę. Ścieżkę do drivera ustawiamy przy pomocy następującej linijki kodu (ścieżka może się różnić w zależności gdzie umieściłeś/aś drivera):System.setProperty("webdriver.chrome.driver","C:\\Users\\downloads\\chromedriver.exe");
Następna linijka to stworzenia przeglądarki:WebDriver driver = new ChromeDriver();
Cała metoda testowa może wyglądać następująco:@Test
public void openGooglePage() {
System.setProperty("webdriver.chrome.driver","C:\\Users\\downloads\\chrome driver.exe");
WebDriver driver = new ChromeDriver();
}
Pobranie wybranej strony internetowej i wypisanie tytułu
Teraz spróbujemy otworzyć jakąś stronę internetową. Następnie pobierzemy jej tytuł i wypiszemy go na ekranie. W celu pobrania wybranej strony musimy skorzystać z metody get(„adres strony”) dostępnej w obiekcie klasy WebDriver. Na przykład może to być strona google.com: driver.get("https://www.google.com");
Po otwarciu strony możemy pobrać jej tytuł i wypisać go na ekranie. Linijka kodu odpowiedzialna za ten proces może wyglądać następująco: System.out.println(driver.getTitle());
Cała metoda będzie wyglądać w ten sposób:@Test
public void openGooglePage() {
System.setProperty("webdriver.chrome.driver","C:\\Users\\downloads\\chrome driver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
System.out.println(driver.getTitle());
}
Podsumowanie
Informacje zawarte w tej wiadomości pozwoliły Ci otworzyć przeglądarkę, pobrać wybraną stronę i wypisać na ekranie jej tytuł. Mam nadzieję, że wszystko działa :). Jeżeli nie to z chęcią pomogę Ci rozwiązać ewentualne problemy.
Jesteśmy na dobrej drodze do napisania pierwszego testu automatycznego na poziomie interfejsu użytkownika. Kolejnym etapem będzie odnajdywanie elementów na stronie i interakcja z nimi.